Come convertire modelli 3D in .NET
Aspose.3D per .NET rende la conversione di formato un’operazione a due passaggi: carica il file sorgente con Scene.Open(), quindi salva nel formato di destinazione con Scene.Save(). Il formato di output è dedotto dall’estensione del file.
Guida passo-passo
Passo 1: Installa il pacchetto
dotnet add package Aspose.3D --version 26.1.0Passo 2: Importare i namespace
using Aspose.ThreeD;
using Aspose.ThreeD.Formats;Passo 3: Carica il file di origine
var scene = new Scene();
scene.Open("input.fbx");Passo 4: Salva nel formato di destinazione
scene.Save("output.glb");La libreria rileva il formato di destinazione dall’estensione. Formati di esportazione supportati: OBJ, STL, glTF 2.0 / GLB, FBX, COLLADA e 3MF.
Passo 5: Usa le opzioni di salvataggio specifiche per il formato
Per un controllo più granulare, passa una sottoclasse 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 });Ricette di conversione comuni
| Source | Target | Code |
|---|---|---|
| OBJ in GLB | scene.Open("input.obj"); scene.Save("output.glb"); | glTF binario per visualizzatori web |
| FBX in STL | scene.Open("input.fbx"); scene.Save("output.stl"); | Mesh triangolato per stampa 3D |
| glTF in COLLADA | scene.Open("input.gltf"); scene.Save("output.dae"); | Formato di scambio DAE |
| STL in OBJ | scene.Open("input.stl"); scene.Save("output.obj"); | Wavefront per strumenti di modellazione |
Problemi comuni e soluzioni
Il file di output è vuoto o molto piccolo
Assicurati che il file di origine sia stato caricato correttamente. Controlla scene.RootNode.ChildNodes.Count dopo Open().
Materiali persi durante la conversione
Non tutti i formati trasportano le stesse proprietà dei materiali. I materiali OBJ usano Lambert/Phong; glTF utilizza PBR. La mappatura dei materiali è al meglio delle possibilità attraverso i confini dei formati.
Differenza di scala tra sorgente e output
Strumenti diversi usano sistemi di unità differenti. Applica ObjLoadOptions.Scale all’importazione o regola node.Transform.Scale prima di salvare.
Domande frequenti (FAQ)
Posso convertire PLY in un altro formato?
PLY è solo importazione. Carica un file PLY e salva in qualsiasi formato di esportazione (OBJ, STL, GLB, FBX, COLLADA).
La conversione conserva le animazioni?
I dati di animazione (AnimationClip) vengono conservati quando entrambi i formati li supportano (ad esempio, FBX a glTF). STL e OBJ non contengono dati di animazione.
Posso convertire più file in batch?
Crea un nuovo Scene per ogni file in un ciclo. Ogni Scene è indipendente e può essere elaborato in parallelo.