Cum să convertești modele 3D în .NET

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.0

Pasul 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

SourceTargetCode
OBJ to GLBscene.Open("input.obj"); scene.Save("output.glb");glTF binar pentru vizualizatoare web
FBX to STLscene.Open("input.fbx"); scene.Save("output.stl");Plasă triunghiulară pentru imprimare 3D
glTF to COLLADAscene.Open("input.gltf"); scene.Save("output.dae");Format de schimb DAE
STL to OBJscene.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.

 Română