Cómo convertir modelos 3D en .NET
Aspose.3D for .NET hace que la conversión de formatos sea una operación de dos pasos: cargue el archivo fuente con Scene.Open(), luego guárdelo en el formato de destino con Scene.Save(). El formato de salida se infiere de la extensión del archivo.
Guía paso a paso
Paso 1: Instalar el paquete
dotnet add package Aspose.3D --version 26.1.0Paso 2: Importar espacios de nombres
using Aspose.ThreeD;
using Aspose.ThreeD.Formats;Paso 3: Cargar el archivo de origen
var scene = new Scene();
scene.Open("input.fbx");Paso 4: Guardar en el formato de destino
scene.Save("output.glb");La biblioteca detecta el formato de destino a partir de la extensión. Formatos de exportación compatibles: OBJ, STL, glTF 2.0 / GLB, FBX, COLLADA y 3MF.
Paso 5: Usar opciones de guardado específicas del formato
Para un control granular, pase una subclase SaveOptions:
// FBX output — always produces binary FBX
// FbxSaveOptions exists but has no format-specific properties in this version
scene.Save("output.fbx");
// OBJ with flipped coordinate system
scene.Save("output.obj", new ObjSaveOptions { FlipCoordinateSystem = true });
// COLLADA with indented XML
scene.Save("output.dae", new ColladaSaveOptions { Indented = true });Recetas de Conversión Comunes
| Origen | Destino | Código |
|---|---|---|
| OBJ a GLB | scene.Open("input.obj"); scene.Save("output.glb"); | glTF binario para visores web |
| FBX a STL | scene.Open("input.fbx"); scene.Save("output.stl"); | Malla triangulada para impresión 3D |
| glTF a COLLADA | scene.Open("input.gltf"); scene.Save("output.dae"); | Formato de intercambio DAE |
| STL a OBJ | scene.Open("input.stl"); scene.Save("output.obj"); | Wavefront para herramientas de modelado |
Problemas comunes y soluciones
El archivo de salida está vacío o es muy pequeño
Asegúrese de que el archivo fuente se haya cargado correctamente. Verifique scene.RootNode.ChildNodes.Count después de Open().
Materiales perdidos durante la conversión
No todos los formatos llevan las mismas propiedades de material. Los materiales OBJ usan Lambert/Phong; glTF usa PBR. El mapeo de materiales es de mejor esfuerzo a través de los límites de formato.
Diferencia de escala entre la fuente y la salida
Diferentes herramientas utilizan diferentes sistemas de unidades. Aplica ObjLoadOptions.Scale al importar o ajusta node.Transform.Scale antes de guardar.
Preguntas Frecuentes (FAQ)
¿Puedo convertir PLY a otro formato?
PLY es solo de importación. Carga un archivo PLY y guárdalo en cualquier formato de exportación (OBJ, STL, GLB, FBX, COLLADA).
¿La conversión conserva animaciones?
Los datos de animación (AnimationClip) se conservan cuando ambos formatos lo admiten (p. ej., FBX a glTF). STL y OBJ no transportan datos de animación.
¿Puedo convertir varios archivos por lotes?
Cree un nuevo Scene para cada archivo en un bucle. Cada Scene es independiente y puede procesarse en paralelo.