Jak převést 3D modely v .NET
Aspose.3D for .NET provádí konverzi formátu dvoustupňovou operací: načtěte zdrojový soubor pomocí Scene.Open(), poté uložte do cílového formátu pomocí Scene.Save(). Výstupní formát je odvozen z přípony souboru.
Průvodce krok za krokem
Krok 1: Nainstalujte balíček
dotnet add package Aspose.3D --version 26.1.0Krok 2: Importovat jmenné prostory
using Aspose.ThreeD;
using Aspose.ThreeD.Formats;Krok 3: Načíst zdrojový soubor
var scene = new Scene();
scene.Open("input.fbx");Krok 4: Uložit v cílovém formátu
scene.Save("output.glb");Knihovna detekuje cílový formát podle přípony. Podporované exportní formáty: OBJ, STL, glTF 2.0 / GLB, FBX, COLLADA a 3MF.
Krok 5: Formátově specifické možnosti uložení
Pro jemnozrnou kontrolu předávejte podtřídu 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 });Běžné konverzní recepty
| Source | Target | Code |
|---|---|---|
| OBJ to GLB | scene.Open("input.obj"); scene.Save("output.glb"); | Binární glTF pro webové prohlížeče |
| FBX to STL | scene.Open("input.fbx"); scene.Save("output.stl"); | Triangulovaná síť pro 3D tisk |
| glTF to COLLADA | scene.Open("input.gltf"); scene.Save("output.dae"); | Formát výměny DAE |
| STL to OBJ | scene.Open("input.stl"); scene.Save("output.obj"); | Wavefront pro modelovací nástroje |
Časté problémy a opravy
Výstupní soubor je prázdný nebo velmi malý
Ujistěte se, že zdrojový soubor byl úspěšně načten. Zkontrolujte scene.RootNode.ChildNodes.Count po Open().
Materiály ztracené během konverze
Ne všechny formáty nesou stejné materiálové vlastnosti. Materiály OBJ používají Lambert/Phong; glTF používá PBR. Mapování materiálů je nejlepší snaha napříč hranicemi formátů.
Rozdíl měřítka mezi zdrojem a výstupem
Různé nástroje používají různé jednotkové systémy. Použijte ObjLoadOptions.Scale při importu nebo upravte node.Transform.Scale před uložením.
Často kladené otázky (FAQ)
Mohu převést PLY do jiného formátu?
PLY je pouze pro import. Načtěte soubor PLY a uložte do libovolného exportního formátu (OBJ, STL, GLB, FBX, COLLADA).
Zachovává převod animace?
Data animace (AnimationClip) jsou zachována, pokud oba formáty podporují (např. FBX na glTF). STL a OBJ nepřenášejí data animace.
Mohu hromadně převádět více souborů?
Vytvořte nový Scene pro každý soubor ve smyčce. Každý Scene je nezávislý a může být zpracován paralelně.