Hur man konverterar 3D-modeller i .NET
Aspose.3D for .NET gör formatkonvertering till en tvåstegsoperation: ladda källfilen med Scene.Open(), spara sedan till målformatet med Scene.Save(). Utdataformatet härleds från filändelsen.
Steg-för-steg-guide
Steg 1: Installera paketet
dotnet add package Aspose.3D --version 26.1.0Steg 2: Importera namnrymder
using Aspose.ThreeD;
using Aspose.ThreeD.Formats;Steg 3: Ladda källfilen
var scene = new Scene();
scene.Open("input.fbx");Steg 4: Spara i målformatet
scene.Save("output.glb");Biblioteket upptäcker målformatet från filändelsen. Stödda exportformat: OBJ, STL, glTF 2.0 / GLB, FBX, COLLADA och 3MF.
Steg 5: Använd format‑specifika sparalternativ
För finjusterad kontroll, skicka en SaveOptions-subklass:
// 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 });Vanliga konverteringsrecept
| Source | Target | Code |
|---|---|---|
| OBJ to GLB | scene.Open("input.obj"); scene.Save("output.glb"); | Binär glTF för webbläsare |
| FBX to STL | scene.Open("input.fbx"); scene.Save("output.stl"); | Triangulerad mesh för 3D-utskrift |
| glTF to COLLADA | scene.Open("input.gltf"); scene.Save("output.dae"); | DAE-utbytesformat |
| STL to OBJ | scene.Open("input.stl"); scene.Save("output.obj"); | Wavefront för modelleringsverktyg |
Vanliga problem och lösningar
Utdatfilen är tom eller mycket liten
Säkerställ att källfilen har laddats framgångsrikt. Kontrollera scene.RootNode.ChildNodes.Count efter Open().
Material som förloras vid konvertering
Alla format bär inte samma materialegenskaper. OBJ‑material använder Lambert/Phong; glTF använder PBR. Materialmappning är bästa möjliga ansträngning över formatgränser.
Skalskillnad mellan källa och utdata
Olika verktyg använder olika enhetssystem. Tillämpa ObjLoadOptions.Scale vid import eller justera node.Transform.Scale innan du sparar.
Vanliga frågor (FAQ)
Kan jag konvertera PLY till ett annat format?
PLY är endast import. Ladda en PLY‑fil och spara till valfritt exportformat (OBJ, STL, GLB, FBX, COLLADA).
Behåller konverteringen animationer?
Animationsdata (AnimationClip) bevaras när båda formaten stöder den (t.ex. FBX till glTF). STL och OBJ innehåller inte animationsdata.
Kan jag batch-konvertera flera filer?
Skapa en ny Scene för varje fil i en loop. Varje Scene är oberoende och kan bearbetas parallellt.