Especificar las opciones de carga de archivos 3D en C#

Descripción general

Este artículo explica cómo puede cargar diferentes tipos de archivos 3D utilizando sus respectivas clases de opción de carga en C# dentro del objeto Scene y luego puede Guardarlo en diferentes formatos de archivo 3D compatibles. Al cargar y guardar, puede realizar varias conversiones diferentes, p.

  • Convierte FBX a OBJ en C#
  • Convierte 3DS a FBX en C#
  • Convierte U3D a OBJ en C#
  • Convierte OBJ a 3DS en C#
  • Convertir X a 3DS en C#

3D Opciones de carga de archivos

Hay varias sobrecargas de método Scene.Open o sobrecargas de constructor de clase Scene que aceptan un objeto LoadOptions. Este debe ser un objeto de una clase derivada de la clase LoadOptions. Cada formato de carga tiene una clase correspondiente que contiene opciones de carga para ese formato de carga, por ejemplo, hay ColladaSaveOptions para el formato de guardado FileFormat.Collada.

Uso de las opciones de carga discreto 3DS

El código C# a continuación muestra cómo establecer las opciones de carga antes de cargar un archivo 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" });

Uso de las opciones de carga Obj

El siguiente código C# muestra cómo establecer las opciones de carga antes de cargar un archivo 3D Obj.

// 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");

Uso de las opciones de carga STL

El siguiente código C# muestra cómo establecer las opciones de carga antes de cargar un archivo 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" });

Uso de las opciones de carga U3D

El siguiente código C# muestra cómo establecer las opciones de carga antes de cargar un archivo 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" });

Uso de las opciones de carga glTF

El siguiente código C# muestra cómo establecer las opciones de carga antes de cargar un archivo glTF.

Voltear la coordenadas de textura 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);

Uso de las opciones de carga de nivel

El siguiente código C# muestra cómo establecer las opciones de carga antes de cargar un modelo 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);

Uso de las opciones de carga de DirectX X

El siguiente código C# muestra cómo establecer las opciones de carga antes de cargar un archivo 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);

Usar opciones de carga RVM

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);

Uso de las opciones de carga FBX

// 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);
}