Cum să convertești modele 3D în .NET
Aspose.3D pentru .NET face conversia de format o operație în două etape: încarcă fișierul sursă cu Scene.Open(), apoi salvează în formatul țintă cu Scene.Save(). Formatul de ieșire este dedus din extensia fișierului.
Ghid pas cu pas
Pasul 1: Instalați pachetul
dotnet add package Aspose.3D --version 26.1.0Pasul 2: Importarea spațiilor de nume
using Aspose.ThreeD;
using Aspose.ThreeD.Formats;Pasul 3: Încărcați fișierul sursă
var scene = new Scene();
scene.Open("input.fbx");Pasul 4: Salvați în formatul țintă
scene.Save("output.glb");Biblioteca detectează formatul țintă din extensie. Formatele de export acceptate: OBJ, STL, glTF 2.0 / GLB, FBX, COLLADA și 3MF.
Pasul 5: Utilizați opțiunile de salvare specifice formatului
Pentru un control detaliat, transmiteți o subclasă 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 });Rețete comune de conversie
| Source | Target | Code |
|---|---|---|
| OBJ to GLB | scene.Open("input.obj"); scene.Save("output.glb"); | glTF binar pentru vizualizatoare web |
| FBX to STL | scene.Open("input.fbx"); scene.Save("output.stl"); | Plasă triunghiulară pentru imprimare 3D |
| glTF to COLLADA | scene.Open("input.gltf"); scene.Save("output.dae"); | Format de schimb DAE |
| STL to OBJ | scene.Open("input.stl"); scene.Save("output.obj"); | Wavefront pentru instrumente de modelare |
Probleme comune și soluții
Fișierul de ieșire este gol sau foarte mic
Asigurați-vă că fișierul sursă a fost încărcat cu succes. Verificați scene.RootNode.ChildNodes.Count după Open().
Materiale pierdute în timpul conversiei
Nu toate formatele au aceleași proprietăți de material. Materialele OBJ utilizează Lambert/Phong; glTF utilizează PBR. Cartografierea materialelor este realizată pe bază de efort maxim la trecerea între formate.
Diferența de scară dintre sursă și ieșire
Instrumentele diferite folosesc sisteme de unități diferite. Aplicați ObjLoadOptions.Scale la import sau ajustați node.Transform.Scale înainte de salvare.
Întrebări frecvente (FAQ)
Pot să convertesc PLY în alt format?
PLY este doar pentru import. Încarcă un fișier PLY și salvează în orice format de export (OBJ, STL, GLB, FBX, COLLADA).
Conversia păstrează animațiile?
Datele de animație (AnimationClip) sunt păstrate când ambele formate le suportă (de exemplu, FBX la glTF). STL și OBJ nu transportă date de animație.
Pot converti în lot mai multe fișiere?
Creează un nou Scene pentru fiecare fișier într-o buclă. Fiecare Scene este independent și poate fi procesat în paralel.