Praca z glTF i GLB

Praca z glTF i GLB

Aspose.3D dla .NET obsługuje odczyt i zapis glTF 2.0 (.gltf z osobnymi zasobami) oraz GLB (jednoplikowy binarny glTF). Użyj GltfLoadOptions, aby skonfigurować zachowanie ładowania oraz GltfSaveOptions, aby kontrolować wynik eksportu.


Ładowanie pliku glTF

Załaduj plik .gltf lub .glb bezpośrednio przy użyciu Scene.Open. Podaj GltfLoadOptions w celu uzyskania dokładniejszej kontroli:

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

Pliki glTF odwołują się do zewnętrznych buforów .bin i tekstur za pomocą ścieżki względnej. Trzymaj wszystkie odwoływane zasoby w tym samym katalogu co plik .gltf podczas ładowania.


Zapisywanie jako glTF lub GLB

Zapisz dowolną scenę jako glTF lub w kompaktowym binarnym formacie 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);

Kontrolowanie wbudowanego formatu obrazu

Gdy tekstury są osadzone, kontroluj sposób przechowywania danych obrazu za pomocą GltfEmbeddedImageFormat:

var saveOpts = new GltfSaveOptions(FileFormat.GLTF2_Binary);
saveOpts.ImageFormat = GltfEmbeddedImageFormat.Jpeg;
scene.Save("output.glb", saveOpts);
GltfEmbeddedImageFormat wartośćOpis
JpegPonownie zakoduj osadzone tekstury jako JPEG (stratny, mniejszy)
PngPonownie zakoduj osadzone tekstury jako PNG (bezstratny)
NoChangeZachowaj oryginalne kodowanie (domyślne)

API Quick Reference

MemberOpis
new GltfLoadOptions()Skonfiguruj glTF import
new GltfSaveOptions(format)Skonfiguruj glTF/GLB export
saveOpts.EmbedAssetsOsadź bufor binarny wewnątrz .gltf JSON
saveOpts.ImageFormatKodowanie wbudowanej tekstury (GltfEmbeddedImageFormat)
FileFormat.GLTF2Docelowy format: osobny .gltf + .bin
FileFormat.GLTF2_BinaryDocelowy format: pojedynczy .glb

Zobacz także

 Polski