Trabalhando com glTF e GLB

Trabalhando com glTF e GLB

Aspose.3D para .NET suporta leitura e escrita de glTF 2.0 (.gltf com ativos separados) e GLB (arquivo binário único glTF). Use GltfLoadOptions para configurar o comportamento de carregamento e GltfSaveOptions para controlar a saída da exportação.


Carregando um arquivo glTF

Carregue um arquivo .gltf ou .glb diretamente com Scene.Open. Forneça GltfLoadOptions para um controle mais refinado:

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

Arquivos glTF referenciam buffers e texturas externos .bin por caminho relativo. Mantenha todos os assets referenciados no mesmo diretório do arquivo .gltf ao carregar.


Salvando como glTF ou GLB

Salve qualquer cena como glTF ou no formato binário compacto 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);

Controlando o Formato de Imagem Incorporado

Quando as texturas são incorporadas, controle como os dados da imagem são armazenados com GltfEmbeddedImageFormat:

var saveOpts = new GltfSaveOptions(FileFormat.GLTF2_Binary);
saveOpts.ImageFormat = GltfEmbeddedImageFormat.Jpeg;
scene.Save("output.glb", saveOpts);
GltfEmbeddedImageFormat valorDescrição
JpegRecodificar texturas incorporadas como JPEG (com perdas, menor tamanho)
PngRecodificar texturas incorporadas como PNG (sem perdas)
NoChangeManter codificação original (padrão)

API Quick Reference

MemberDescrição
new GltfLoadOptions()Configure a importação de glTF
new GltfSaveOptions(format)Configure a exportação glTF/GLB
saveOpts.EmbedAssetsIncorpore o buffer binário dentro do .gltf JSON
saveOpts.ImageFormatCodificação de textura incorporada (GltfEmbeddedImageFormat)
FileFormat.GLTF2Formato de destino: .gltf separado + .bin
FileFormat.GLTF2_BinaryFormato de destino: .glb único

Ver também

 Português