3D modellek konvertálása .NET-ben
Aspose.3D for .NET a formátumkonverziót kétlépéses műveletté teszi: töltsd be a forrásfájlt a Scene.Open() segítségével, majd mentsd el a célformátumba a Scene.Save() használatával. A kimeneti formátum a fájlkiterjesztésből kerül meghatározásra.
Lépésről‑lépésre útmutató
1. lépés: A csomag telepítése
dotnet add package Aspose.3D --version 26.1.02. lépés: Névterek importálása
using Aspose.ThreeD;
using Aspose.ThreeD.Formats;3. lépés: A forrásfájl betöltése
var scene = new Scene();
scene.Open("input.fbx");4. lépés: Mentés a célformátumba
scene.Save("output.glb");A könyvtár a kiterjesztés alapján észleli a célformátumot. Támogatott exportformátumok: OBJ, STL, glTF 2.0 / GLB, FBX, COLLADA és 3MF.
5. lépés: Használja a formátum-specifikus mentési beállításokat
Finomhangolt vezérléshez adjon át egy SaveOptions alosztályt:
// 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 });Általános konverziós receptek
| Source | Target | Code |
|---|---|---|
| OBJ → GLB | scene.Open("input.obj"); scene.Save("output.glb"); | Bináris glTF webes megjelenítők számára |
| FBX → STL | scene.Open("input.fbx"); scene.Save("output.stl"); | Triangulált háló 3D nyomtatáshoz |
| glTF → COLLADA | scene.Open("input.gltf"); scene.Save("output.dae"); | DAE csereformátum |
| STL → OBJ | scene.Open("input.stl"); scene.Save("output.obj"); | Wavefront modellező eszközökhöz |
Gyakori problémák és megoldások
A kimeneti fájl üres vagy nagyon kicsi
Győződjön meg arról, hogy a forrásfájl sikeresen betöltődött. Ellenőrizze a scene.RootNode.ChildNodes.Count-t a Open() után.
Az átalakítás során elveszett anyagok
Nem minden formátum hordozza ugyanazokat az anyagtulajdonságokat. Az OBJ anyagok Lambert/Phong-ot használnak; a glTF PBR-t használ. Az anyagtérképezés legjobb erőfeszítéssel történik a formátumhatárokon át.
A forrás és a kimenet közötti méretkülönbség
Különböző eszközök különböző mértékegységrendszereket használnak. Alkalmazza a ObjLoadOptions.Scale importáláskor, vagy állítsa be a node.Transform.Scale mentés előtt.
Gyakran Ismételt Kérdések (GYIK)
Átkonvertálhatom a PLY-t egy másik formátumba?
A PLY csak importálható. Tölts be egy PLY fájlt, és ments bármely export formátumba (OBJ, STL, GLB, FBX, COLLADA).
Megőrzi a konverzió az animációkat?
Az animációs adatok (AnimationClip) megmaradnak, ha mindkét formátum támogatja őket (például FBX‑ről glTF‑re). Az STL és az OBJ nem tartalmaznak animációs adatokat.
Több fájlt konvertálhatok egyszerre?
Hozzon létre egy új Scene minden fájlhoz egy ciklusban. Minden Scene független, és párhuzamosan feldolgozható.