Работа с glTF и GLB
Работа с glTF и GLB
Aspose.3D для .NET поддерживает чтение и запись glTF 2.0 (.gltf с отдельными ресурсами) и GLB (однофайловый бинарный glTF). Используйте GltfLoadOptions для настройки поведения загрузки и GltfSaveOptions для управления выводом экспорта.
Загрузка файла glTF
Загрузите файл .gltf или .glb напрямую с помощью Scene.Open. Предоставьте GltfLoadOptions для более точного управления:
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 файлы ссылаются на внешние
.binбуферы и текстуры по относительному пути. Держите все связанные ресурсы в той же директории, что и файл.gltf, при загрузке.
Сохранение в формате glTF или GLB
Сохраните любую сцену как glTF или в компактном бинарном формате 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);Управление форматом встроенного изображения
Когда текстуры встроены, контролируйте, как данные изображения хранятся с помощью GltfEmbeddedImageFormat:
var saveOpts = new GltfSaveOptions(FileFormat.GLTF2_Binary);
saveOpts.ImageFormat = GltfEmbeddedImageFormat.Jpeg;
scene.Save("output.glb", saveOpts);GltfEmbeddedImageFormat значение | Описание: |
|---|---|
Jpeg | Перекодировать встроенные текстуры в JPEG (с потерями, меньше по размеру) |
Png | Перекодировать встроенные текстуры в PNG (без потерь) |
NoChange | Сохранить оригинальное кодирование (по умолчанию) |
API Quick Reference
| Member | Описание: |
|---|---|
new GltfLoadOptions() | Настроить glTF import |
new GltfSaveOptions(format) | Настроить glTF/GLB export |
saveOpts.EmbedAssets | Встроить бинарный буфер внутри .gltf JSON |
saveOpts.ImageFormat | Встроенное кодирование текстур (GltfEmbeddedImageFormat) |
FileFormat.GLTF2 | Целевой формат: отдельные .gltf + .bin |
FileFormat.GLTF2_Binary | Целевой формат: единственный .glb |
См. также:
- Aspose.3D for .NET — Enterprise Documentation
- Поддержка форматов — полный список поддерживаемых 3D форматов