Конвертер GLB в glTF
Конвертация GLB в GLTF распаковывает единый двоичный контейнер в отдельные текстовые файлы и файлы ресурсов, чтобы разработчики могли легко редактировать текстуры и код 3D-геометрии.
Сравнение форматов и технические характеристики
| Характеристика | GLB | GLTF |
|---|---|---|
| MIME-тип | model/ | model/ |
| Тип | автономный двоичный 3D-контейнер | передача 3D-ресурсов во время выполнения |
| Сжатие | бинарный пакет JSON, буферов и текстур | без потерь, манифест JSON + внешние бинарные буферы |
| Стандартная спецификация | Khronos glTF 2.0 Binary Container | Khronos glTF 2.0 Specification |
| Сигнатура файла (Magic Bytes) | 67 6C 54 46 02 00 00 00 (glTF version 2 binary container) | 7B 22 61 73 73 65 74 22 ({"asset" JSON root) |
Обзор формата и областей применения
Формат GLB упаковывает трехмерные сцены, анимации, материалы и текстуры в единый компактный двоичный пакет. Хотя это отлично подходит для быстрой загрузки объектов на веб-страницы и в игры, это затрудняет редактирование исходных данных. Разработчикам часто требуется распаковать файл GLB в формат GLTF для проверки структуры сцены, настройки свойств материалов в текстовом редакторе или изменения встроенных параметров шейдеров. Работа с распакованными ресурсами GLTF позволяет инженерным командам использовать стандартные рабочие процессы Git для контроля версий конкретных компонентов трехмерной сетки. Вместо отслеживания огромного двоичного блока разработчики могут фиксировать небольшие текстовые изменения в манифесте JSON, управляя отдельными файлами двоичных буферов. Этот процесс конвертации поддерживает передовые веб-разработки, где трехмерным ресурсам требуется внедрение пользовательских шейдеров или динамическая замена текстур до выполнения.
Технические спецификации и разбор кодеков
GLB использует тип MIME model/gltf-binary и начинается с 12-байтового заголовка, содержащего 4-байтовую сигнатуру 0x46546C67, 4-байтовое целое число версии и 4-байтовую общую длину файла. За этим заголовком следуют блоки, содержащие манифест JSON и двоичные буферы. Преобразование в GLTF, использующий тип MIME model/gltf+json, разделяет манифест на понятный человеку текстовый файл с расширением .gltf. Данные геометрии и изображения текстур записываются в отдельные внешние файлы, такие как .bin и .png. По умолчанию ни один из форматов не использует сжатие с потерями. Оба формата сохраняют позиции вершин, нормали и UV-координаты с полной математической точностью.
Совместимость с ОС и браузерами
Распакованные файлы GLTF бесперебойно работают в большинстве современных веб-браузеров, включая Google Chrome, Mozilla Firefox, Apple Safari и Microsoft Edge с использованием средств визуализации WebGL и WebGPU. Настольные операционные системы, такие как Windows 10 и 11, macOS и Linux, поддерживают просмотр GLTF с помощью таких программ, как «Средство просмотра 3D» в Windows и Blender. Мобильные операционные системы на базе iOS и Android отображают ресурсы GLTF во встроенных средах дополненной реальности и веб-приложениях, хотя разработчики должны правильно размещать отдельные файлы .bin и .gltf на своих серверах во избежание ошибок совместного использования ресурсов между источниками (CORS).
Полезная информация
Всегда храните карты текстур в той же папке, что и основной файл .gltf после конвертации, чтобы манифест JSON мог найти свои внешние зависимости без ошибок путей.
Часто задаваемые вопросы
Как конвертировать двоичный glTF в JSON glTF без потери качества?
Конвертация из GLB в GLTF полностью без потерь, поскольку оба формата используют одни и те же базовые математические структуры. Процесс просто извлекает блок JSON и двоичные буферы из единого двоичного контейнера и записывает их в виде отдельных файлов на диск без изменения данных вершин или сжатия пикселей.
В чем разница между двоичным glTF и JSON glTF?
GLB - это автономный двоичный файл, который объединяет описание сцены, геометрию и текстуры в одну загрузку. GLTF разделяет эти элементы, сохраняя граф сцены в читаемом текстовом файле, в то время как геометрия и текстуры хранятся во внешних двоичных файлах и файлах изображений.