Spécifiez 3D Options de chargement de fichier dans C#

Aperçu

Cet article explique comment vous pouvez charger différents types de fichiers 3D en utilisant leurs classes d’option de chargement respectives dans C# à l’intérieur de l’objet Scène, puis vous pouvez Enregistrez-le dans différents formats de fichiers supportés par 3D. En chargeant et en sauvegardant, vous pouvez effectuer un nombre de conversions différentes, par ex.

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

3D Options de chargement des fichiers

Il existe plusieurs surcharges de méthode Scene.Open ou surcharges de constructeur de classe Scene qui acceptent un objet LoadOptions. Cela devrait être un objet d’une classe dérivée de la classe LoadOptions. Chaque format de chargement a une classe correspondante qui contient des options de chargement pour ce format de chargement, par exemple il y a ColladaSaveOptions pour le format de sauvegarde FileFormat.Collada.

Utilisation des options de chargement de 3DS discret

Le code C# ci-dessous montre comment définir les options de chargement avant de charger un fichier 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" });

Utilisation des options de charge Obj

Le code C# ci-dessous montre comment définir les options de chargement avant de charger un fichier 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");

Utilisation des options de chargement STL

Le code C# ci-dessous montre comment définir les options de chargement avant de charger un fichier 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" });

Utilisation des options de chargement U3D

Le code C# ci-dessous montre comment définir les options de chargement avant de charger un fichier 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" });

Utilisation des options de chargement glTF

Le code C# ci-dessous montre comment définir les options de chargement avant de charger un fichier glTF.

Retournez la coordination de la 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);

Utilisation des options de charge Ply

Le code C# ci-dessous montre comment définir les options de chargement avant de charger un modèle 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);

Utilisation des options de charge DirectX X

Le code C# ci-dessous montre comment définir les options de chargement avant de charger un fichier 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);

Utiliser les options de chargement 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);

Utilisation des options de chargement 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);
}