Arbeiten mit glTF und GLB

Arbeiten mit glTF und GLB

Aspose.3D für .NET unterstützt das Lesen und Schreiben von glTF 2.0 (.gltf mit separaten Assets) und GLB (einzelne Binärdatei glTF). Verwenden Sie GltfLoadOptions, um das Ladeverhalten zu konfigurieren, und GltfSaveOptions, um die Exportausgabe zu steuern.


Laden einer glTF-Datei

Laden Sie eine .gltf- oder .glb-Datei direkt mit Scene.Open. Geben Sie GltfLoadOptions für feinere Kontrolle an:

using Aspose.ThreeD;
using Aspose.ThreeD.Formats;

// Basic load
var scene = Scene.FromFile("model.gltf");

// Load with options
var opts = new GltfLoadOptions();
var sceneWithOpts = new Scene();
sceneWithOpts.Open("model.gltf", opts);

glTF Dateien verweisen auf externe .bin Puffer und Texturen per relativem Pfad. Halten Sie alle referenzierten Assets im selben Verzeichnis wie die .gltf Datei beim Laden.


Speichern als glTF oder GLB

Speichern Sie jede Szene als glTF oder im kompakten binären GLB-Format:

using Aspose.ThreeD;
using Aspose.ThreeD.Formats;

var scene = new Scene();
scene.RootNode.CreateChildNode("box", new Aspose.ThreeD.Entities.Box());

// Save as glTF (separate JSON + .bin buffer)
scene.Save("output.gltf", FileFormat.GLTF2);

// Save as GLB (single binary file)
scene.Save("output.glb", FileFormat.GLTF2_Binary);

// Save with custom options — embed the binary buffer inside the JSON
var saveOpts = new GltfSaveOptions(FileFormat.GLTF2);
saveOpts.EmbedAssets = true;
scene.Save("output_embedded.gltf", saveOpts);

Steuerung des eingebetteten Bildformats

Wenn Texturen eingebettet sind, steuern Sie, wie Bilddaten mit GltfEmbeddedImageFormat gespeichert werden:

var saveOpts = new GltfSaveOptions(FileFormat.GLTF2_Binary);
saveOpts.ImageFormat = GltfEmbeddedImageFormat.Jpeg;
scene.Save("output.glb", saveOpts);
GltfEmbeddedImageFormat WertBeschreibung
JpegEingebettete Texturen erneut als JPEG kodieren (verlustbehaftet, kleiner)
PngEingebettete Texturen erneut als PNG kodieren (verlustfrei)
NoChangeOriginale Kodierung beibehalten (Standard)

API Quick Reference

MemberBeschreibung
new GltfLoadOptions()Konfigurieren glTF-Import
new GltfSaveOptions(format)Konfigurieren glTF/GLB-Export
saveOpts.EmbedAssetsBetten Sie den Binärpuffer in das .gltf JSON ein
saveOpts.ImageFormatEingebettete Texturkodierung (GltfEmbeddedImageFormat)
FileFormat.GLTF2Zielformat: getrennt .gltf + .bin
FileFormat.GLTF2_BinaryZielformat: einzelnes .glb

Siehe auch

 Deutsch