Wie man 3D-Modelle in .NET konvertiert
Aspose.3D for .NET macht die Formatkonvertierung zu einem zweistufigen Vorgang: Laden Sie die Quelldatei mit Scene.Open(), dann speichern Sie sie im Zielformat mit Scene.Save(). Das Ausgabeformat wird aus der Dateierweiterung abgeleitet.
Schritt-für-Schritt-Anleitung
Schritt 1: Installieren Sie das Paket
dotnet add package Aspose.3D --version 26.1.0Schritt 2: Namespaces importieren
using Aspose.ThreeD;
using Aspose.ThreeD.Formats;Schritt 3: Quelldatei laden
var scene = new Scene();
scene.Open("input.fbx");Schritt 4: Im Zielformat speichern
scene.Save("output.glb");Die Bibliothek erkennt das Zielformat anhand der Erweiterung. Unterstützte Exportformate: OBJ, STL, glTF 2.0 / GLB, FBX, COLLADA und 3MF.
Schritt 5: Formatabhängige Speicheroptionen verwenden
Für eine feinkörnige Steuerung übergeben Sie eine SaveOptions Unterklasse:
// 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 });Allgemeine Konvertierungsrezepte
| Source | Target | Code |
|---|---|---|
| OBJ to GLB | scene.Open("input.obj"); scene.Save("output.glb"); | Binäres glTF für Web-Viewer |
| FBX to STL | scene.Open("input.fbx"); scene.Save("output.stl"); | Trianguliertes Mesh für 3D-Druck |
| glTF to COLLADA | scene.Open("input.gltf"); scene.Save("output.dae"); | DAE-Austauschformat |
| STL to OBJ | scene.Open("input.stl"); scene.Save("output.obj"); | Wavefront für Modellierungswerkzeuge |
Häufige Probleme und Lösungen
Ausgabedatei ist leer oder sehr klein
Stellen Sie sicher, dass die Quelldatei erfolgreich geladen wurde. Überprüfen Sie scene.RootNode.ChildNodes.Count nach Open().
Materialien, die bei der Konvertierung verloren gehen
Nicht alle Formate besitzen dieselben Materialeigenschaften. OBJ‑Materialien verwenden Lambert/Phong; glTF verwendet PBR. Die Materialzuordnung ist ein best‑effort‑Ansatz über Formatgrenzen hinweg.
Skalenunterschied zwischen Quelle und Ausgabe
Verschiedene Werkzeuge verwenden unterschiedliche Einheitensysteme. Wenden Sie ObjLoadOptions.Scale beim Import an oder passen Sie node.Transform.Scale vor dem Speichern an.
Häufig gestellte Fragen (FAQ)
Kann ich PLY in ein anderes Format konvertieren?
PLY ist nur importierbar. Laden Sie eine PLY-Datei und speichern Sie sie in ein beliebiges Exportformat (OBJ, STL, GLB, FBX, COLLADA).
Behält die Konvertierung Animationen bei?
Animationsdaten (AnimationClip) werden beibehalten, wenn beide Formate sie unterstützen (z. B. FBX zu glTF). STL und OBJ enthalten keine Animationsdaten.
Kann ich mehrere Dateien stapelweise konvertieren?
Erstellen Sie für jede Datei in einer Schleife ein neues Scene. Jeder Scene ist unabhängig und kann parallel verarbeitet werden.