Specificare 3D Opzioni di caricamento file in C#

Panoramica

Questo articolo spiega come è possibile caricare diversi tipi di file 3D utilizzando le rispettive classi di opzioni di carico in C# all’interno dell’oggetto Scena e quindi è possibile Salvarlo in diversi formati di file supportati da 3D. Caricando e salvando, puoi eseguire il numero di conversioni diverse, ad es.

  • Convertire FBX in OBJ in C#
  • Convertire 3DS in FBX in C#
  • Convertire U3D in OBJ in C#
  • Convertire OBJ in 3DS in C#
  • Converti da X a 3DS in C#

3D Opzioni di caricamento file

Sono disponibili diversi overload del metodo Scene.Open o overload del costruttore di classi Scene che accettano un oggetto LoadOptions. Questo dovrebbe essere un oggetto di una classe derivata dalla classe LoadOptions. Ogni formato di carico ha una classe corrispondente che contiene le opzioni di carico per quel formato di carico, ad esempio c' è ColladaSaveOptions per il formato di salvataggio FileFormat.Collada.

Utilizzo delle opzioni di carico discre 3DS

Il codice C# di seguito mostra come impostare le opzioni di carico prima di caricare un file Discreet 3DS.

// For complete examples and data files, please go to https://github.com/aspose-3d/Aspose.3D-for-.NET
Discreet3dsLoadOptions loadOpts = new Discreet3dsLoadOptions();
// Sets wheather to use the transformation defined in the first frame of animation track.
loadOpts.ApplyAnimationTransform = true;
// Flip the coordinate system
loadOpts.FlipCoordinateSystem = true;
// Prefer to use gamma-corrected color if a 3ds file provides both original color and gamma-corrected color.
loadOpts.GammaCorrectedColor = true;
// Configure the look up paths to allow importer to find external dependencies.
loadOpts.LookupPaths = new List<string>(new string[] { "textures" });

Utilizzo delle opzioni di carico Obj

Il codice C# di seguito mostra come impostare le opzioni di carico prima di caricare un file Obj 3D.

// For complete examples and data files, please go to https://github.com/aspose-3d/Aspose.3D-for-.NET
// Initialize an object
ObjLoadOptions loadObjOpts = new ObjLoadOptions();
// Import materials from external material library file
loadObjOpts.EnableMaterials = true;
// Flip the coordinate system.
loadObjOpts.FlipCoordinateSystem = true;
// Configure the look up paths to allow importer to find external dependencies.
loadObjOpts.LookupPaths.Add("textures");

Utilizzo delle opzioni di carico STL

Il codice C# di seguito mostra come impostare le opzioni di carico prima di caricare un file STL.

// For complete examples and data files, please go to https://github.com/aspose-3d/Aspose.3D-for-.NET
// Initialize an object
StlLoadOptions loadSTLOpts = new StlLoadOptions();
// Flip the coordinate system.
loadSTLOpts.FlipCoordinateSystem = true;
// Configure the look up paths to allow importer to find external dependencies.
loadSTLOpts.LookupPaths = new List<string>(new string[] { "textures" });

Utilizzo delle opzioni di carico U3D

Il codice C# di seguito mostra come impostare le opzioni di carico prima di caricare un file U3D.

// For complete examples and data files, please go to https://github.com/aspose-3d/Aspose.3D-for-.NET
// Initialize an object
U3dLoadOptions loadU3DOpts = new U3dLoadOptions();
// Flip the coordinate system.
loadU3DOpts.FlipCoordinateSystem = true;
// Configure the look up paths to allow importer to find external dependencies.
loadU3DOpts.LookupPaths = new List<string>(new string[] { "textures" });

Utilizzo delle opzioni di carico glTF

Il codice C# di seguito mostra come impostare le opzioni di carico prima di caricare un file glTF.

Capovolgi la Coordinata texture V/T

// For complete examples and data files, please go to https://github.com/aspose-3d/Aspose.3D-for-.NET
// Initialize Scene class object
Scene scene = new Scene();
// Set load options
GltfLoadOptions loadOpt = new GltfLoadOptions();
// The default value is true, usually we don't need to change it. Aspose.3D will automatically flip the V/T texture coordinate during load and save.
loadOpt.FlipTexCoordV = true;
scene.Open("Duck.gltf", loadOpt);

Utilizzo delle opzioni di carico Ply

Il codice C# di seguito mostra come impostare le opzioni di carico prima di caricare un modello PLY.

// For complete examples and data files, please go to https://github.com/aspose-3d/Aspose.3D-for-.NET
// initialize Scene class object
Scene scene = new Scene();
// initialize an object
PlyLoadOptions loadPLYOpts = new PlyLoadOptions();
// Flip the coordinate system.
loadPLYOpts.FlipCoordinateSystem = true;
// load 3D Ply model
scene.Open("vase-v2.ply", loadPLYOpts);

Utilizzo delle opzioni di carico DirectX X

Il codice C# di seguito mostra come impostare le opzioni di carico prima di caricare un file DirectX X.

// For complete examples and data files, please go to https://github.com/aspose-3d/Aspose.3D-for-.NET
// initialize Scene class object
Scene scene = new Scene();
// initialize an object
XLoadOptions loadXOpts = new XLoadOptions(FileContentType.ASCII);
// flip the coordinate system.
loadXOpts.FlipCoordinateSystem = true;
// load 3D X file
scene.Open("warrior.x", loadXOpts);

Utilizza RVM opzioni di carico

C#

 // set load options of RVM

Scene scene = new Scene();

var opt = new RvmLoadOptions()

{

    CylinderRadialSegments = 32,

    DishLatitudeSegments = 16,

    DishLongitudeSegments = 24,

    TorusTubularSegments = 40

};

// import RVM

scene.Open("LAD-TOP.rvm", opt);

// save in the OBJ format

scene.Save("LAD-TOP.obj", FileFormat.WavefrontOBJ);

Utilizzo di FBX opzioni di carico

// For complete examples and data files, please go to https://github.com/aspose-3d/Aspose.3D-for-.NET
//This will output all properties defined in GlobalSettings in FBX file.
Scene scene = new Scene();
var opt = new FbxLoadOptions() { KeepBuiltinGlobalSettings = true };
scene.Open("test.FBX", opt);
foreach (Property property in scene.RootNode.AssetInfo.Properties)
{
Console.WriteLine(property);
}