Lucrul cu glTF și GLB

Lucrul cu glTF și GLB

Aspose.3D pentru .NET suportă citirea și scrierea glTF 2.0 (.gltf cu active separate) și GLB (fișier binar singular glTF). Utilizați GltfLoadOptions pentru a configura comportamentul de încărcare și GltfSaveOptions pentru a controla ieșirea exportului.


Încărcarea unui fișier glTF

Încărcați un fișier .gltf sau .glb direct cu Scene.Open. Furnizați GltfLoadOptions pentru un control mai fin:

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);

Fișierele glTF fac referire la buffer-uri și texturi externe .bin prin cale relativă. Păstrează toate activele referențiate în același director cu fișierul .gltf la încărcare.


Salvarea ca glTF sau GLB

Salvați orice scenă ca glTF sau în formatul binar compact GLB:

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);

Controlul formatului de imagine încorporat

Când texturile sunt încorporate, controlează modul în care datele imaginii sunt stocate cu GltfEmbeddedImageFormat:

var saveOpts = new GltfSaveOptions(FileFormat.GLTF2_Binary);
saveOpts.ImageFormat = GltfEmbeddedImageFormat.Jpeg;
scene.Save("output.glb", saveOpts);
GltfEmbeddedImageFormat valoareDescriere:
JpegRe-encodează texturile încorporate ca JPEG (cu pierdere, mai mic)
PngRe-encodează texturile încorporate ca PNG (fără pierdere)
NoChangePăstrează codificarea originală (implicit)

API Quick Reference

MemberDescriere:
new GltfLoadOptions()Configurează importul glTF
new GltfSaveOptions(format)Configurează exportul glTF/GLB
saveOpts.EmbedAssetsÎncorporează bufferul binar în interiorul .gltf JSON
saveOpts.ImageFormatCodare a texturii încorporate (GltfEmbeddedImageFormat)
FileFormat.GLTF2Format țintă: .gltf separat + .bin
FileFormat.GLTF2_BinaryFormat țintă: un singur .glb

Vezi și:

 Română