Бинарный glTF (.glb)

ISO/IEC Стандарт

Двоичный формат glTF (GLB) представляет собой автономную однофайловую двоичную упаковку стандарта glTF 2.0, которую часто называют «JPEG для 3D» в сфере трехмерной графики для интернета, дополненной реальности (AR) и игровых движков реального времени.

Конвертировать из GLTF в GLB

Бесплатный конвертер из GLTF в GLB прямо в браузере. Конвертируйте файлы мгновенно на Вашем устройстве.

Анализ и метаданные

Операционные системы и анализаторы файлов идентифицируют файлы GLB по начальной двоичной последовательности байтов:

Выберите или перетащите файлы сюда

Конфиденциально - файлы никогда не покидают ваше устройство

или вставьте Ctrl+V
Гарантия конфиденциальности без передачи по сети: 0 байт загружено на внешние серверы. Вся обработка выполнялась локально в песочнице Вашего браузера.

Сигнатура заголовка на уровне байтов (Magic Bytes)

Операционные системы и анализаторы файлов идентифицируют файлы GLB по начальной двоичной последовательности байтов:

HEX-СИГНАТУРА (СМЕЩЕНИЕ 0):

67 6C 54 46

ПРЕДСТАВЛЕНИЕ ASCII: glTF

Стандартизация: ISO/IEC 12113:2022 / Открытый стандарт Khronos

Технические спецификации

Архитектура контейнера12-байтовый двоичный заголовок ('glTF', версия, длина), за которым следуют блок JSON (БЛОК 0) и блок двоичного буфера (БЛОК 1)
СжатиеСжатие геометрии сетки DRACO, KHR_texture_basisu (текстуры GPU в форматах KTX2/Basis Universal) и ExtMeshopt
Порядок байтов (Endianness)Младший байт первым (стандарт Intel x86 и WebGL)
Цветовые пространстваТекстуры sRGB, Линейные каналы шероховатости/металлической поверхности PBR
Каналы и структураМатериалы PBR (Metallic-Roughness), скелетные сетки с привязкой к костям, цели морфинга, анимации, камеры и источники света
Максимальные размерыНеограниченное количество вершин и треугольников (поддерживает модели размером в несколько гигабайт)
ПрозрачностьАльфа-покрытие (MASK), альфа-смешивание (BLEND) и объемное пропускание света
Потоковая передача и прогрессивная загрузкаОдин автономный файл с таблицами двоичных смещений для прямой загрузки VBO графического процессора

Техническая матрица сравнения: GLB с конкурентами

Технический атрибутGLB (Текущий)GLTFUSDZFBX
Модель упаковкиОдин автономный двоичный файлJSON + внешние файлы .bin и текстурыZIP-архив схем USD и текстурПроприетарный бинарный/текстовый формат Autodesk
Веб-стандарт и стандарт ARПоддержка зависит от программы.Поддержка зависит от программы.Стандарт Apple iOS Quick Look ARСтандарт импорта для настольных игровых движков
Модель материаловСтандартизированная модель PBR Metallic-Roughness в glTFСтандартизированная модель PBR в glTFПоддержка зависит от программы.Проприетарные шейдеры Phong/Lambert/PBR
Производительность чтения GPUМгновенное (прямое отображение в память)Быстрая (несколько сетевых запросов)Быстрая (незапакованные элементы ZIP)Медленная (требуется сложный разбор)

Распространенные сценарии повреждения и руководство по восстановлению в HEX

3D-модель отображается с отсутствующими текстурами или полностью черными поверхностями.

Первопричина: Поврежден встроенный блок текстуры или отсутствует ссылка на текстуру PBR с параметрами Metallic-Roughness.

Восстановление: Проверьте и восстановите смещения блоков с помощью конвертера File2File.app 3D или инструмента glTF-Transform.

Анализ безопасности и векторы атак на парсер

Анализаторы GLB обрабатывают текстовые блоки JSON в сочетании с произвольными двоичными буферами, что может привести к переполнению буфера при несовпадении размеров.

Известные векторы атак

  • Чтение за пределами буфера, когда byteOffset + byteLength для bufferView превышает длину двоичного блока.
  • Чтение индекса вершины за пределами допустимого диапазона во время выполнения функции WebGL drawElements.
  • Отказ в обслуживании из-за чрезмерно длительного распаковывания данных Draco из-за патологических циклов.

Лучшие практики защиты: Строго проверяйте, что все диапазоны байтов accessor и bufferView находятся в пределах, объявленных для двоичного блока.

История происхождения и ключевые этапы

2022glTF 2.0 и GLB получили международную стандартизацию ISO/IEC 12113:2022.
2018Google принимает GLB в качестве стандартного 3D-формата для Android Scene Viewer и веб-технологии просмотра AR <model-viewer>.
2015Khronos Group представляет GLB в качестве однофайлового двоичного контейнера для экосистемы glTF.

Ключевые преимущества и плюсы

  • Полная автономность: объединяет 3D-геометрию, материалы PBR, текстуры (PNG/JPEG/KTX2) и скелетную анимацию в один файл.
  • Прямая загрузка на графический процессор: двоичные буферы геометрии соответствуют раскладке памяти WebGL и Vulkan, поэтому процессору не нужно разбирать данные.
  • Бесспорный стандарт для WebGL, WebGPU, предварительного просмотра 3D-товаров в электронной коммерции и мобильной дополненной реальности.

Технические ограничения и минусы

  • Двоичная структура затрудняет ручной просмотр содержимого в текстовом виде или редактирование без специализированных 3D-инструментов.
  • Требует наличия библиотек декомпрессии Draco или Basis Universal при использовании расширенных алгоритмов сжатия.
  • Платформы Apple отдают предпочтение формату USDZ для просмотра дополненной реальности в iOS Quick Look, что требует конвертации из GLB.

Интересные технические факты

  • Первые 4 байта каждого файла GLB равны 0x67 0x6C 0x54 0x46, что в ASCII-кодировке образует слово «glTF».
  • Просматривая 3D-модель кроссовок в браузере смартфона, Вы почти наверняка имеете дело с интерактивной моделью в формате GLB.
  • GLB разработан так, чтобы графическое оборудование могло считывать буферы вершин напрямую с диска в видеопамять без преобразования данных.

Часто задаваемые технические вопросы

В чем разница между glTF и GLB?

glTF: это файл JSON, который ссылается на внешние файлы геометрии .bin и отдельные файлы изображений текстур. GLB объединяет весь этот пакет в один компактный двоичный файл.

Как можно конвертировать GLB в USDZ для дополненной реальности Apple?

Вы можете конвертировать модели GLB в готовые для Apple файлы USDZ в один клик с помощью File2File.app прямо в своем веб-браузере.

Можно ли открывать файлы GLB в Blender?

Да. Blender включает в себя встроенный высокопроизводительный инструмент импорта и экспорта glTF/GLB.