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

ISO/IEC Стандарт

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

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

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

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

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

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

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

или вставьте 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 (металлическая шероховатость), скелетные сетки с привязкой к костям, целевые морфы, анимации, камеры и источники света
Макс. габаритыНеограниченное количество вершин и треугольников (поддерживает модели размером в несколько гигабайт)
ПрозрачностьАльфа-покрытие (MASK), альфа-смешивание (BLEND) и объемное пропускание света
Потоковая передача и прогрессивная загрузкаОдин автономный файл с таблицами двоичных смещений для прямой загрузки VBO графического процессора

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

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

Типичные режимы повреждения и руководство по восстановлению в HEX

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

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

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

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

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

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

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

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

Исторические истоки и вехи

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

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

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

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

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