Двоичен glTF (.glb)

ISO/IEC Стандарт

Binary glTF (GLB) е самостоятелен двоичен контейнер в един файл за стандарта glTF 2.0, широко наричан „JPEG на 3D" за уеб-базирана 3D графика, добавена реалност (AR) и игрови енджини в реално време.

Конвертиране от GLTF към GLB

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

Проверка и метаданни

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

Изберете или пуснете файлове тук

Поверително - файловете никога не напускат устройството ви

или поставете Ctrl+V
Гаранция за поверителност с нулево мрежово предаване: 0 байта са качени на външни сървъри. Цялата обработка се извършва локално в пясъчниците на вашия браузър.

Байтов подпис на заглавката (сигнатурни байтове)

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

HEX ПОДПИС (ОФСЕТ 0):

67 6C 54 46

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

Стандартизация: ISO/IEC 12113:2022 / Khronos Open Standard

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

Контейнерна архитектура12-байтова двоична заглавна част („glTF“, версия, дължина), последвана от JSON блок (CHUNK 0) и двоичен буферен блок (CHUNK 1)
КомпресияКомпресия DRACO на геометрията на мрежата, KHR_texture_basisu (текстури KTX2 / Basis Universal за графичен процесор) и ExtMeshopt
Поредност на байтовете (Endianness)Ред от младшия към старшия байт (Little-Endian, стандарт за Intel x86 / WebGL).
Цветови пространстваТекстури sRGB, Линейни канали за грапавост и металност PBR
Канали и структураPBR материали (Metallic-Roughness), деформирани скелетни мрежи, цели на преобразуване, анимации, камери и светлини
Максимални размериНеограничен брой върхове и триъгълници (поддържат се модели с размер от няколко гигабайта)
ПрозрачностПокритие с алфа канал (MASK), смесване с алфа канал (BLEND) и обемно пропускане на светлина
Поточно предаване и прогресивно зарежданеЕдин самостоятелен файл с двоични блокове, които софтуерът може да анализира и качи в буфери на графичния процесор

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

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

Често срещани видове повреди и ръководство за възстановяване на шестнадесетични данни

3D моделът се визуализира с липсващи текстури или изцяло черни повърхности.

Първопричина: Повреден вграден блок с текстури или липсваща препратка към PBR metallic-roughness текстура.

Възстановяване: Инспектирайте и коригирайте отместванията на блоковете с File2File.app 3D Converter или glTF-Transform.

Анализ на сигурността и вектори на атака към парсера

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

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

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

Най-добри практики за защита: Строго валидирайте, че всички байтови диапазони на accessor и bufferView попадат вътре в декларираните граници на двоичния блок.

Исторически произход и етапи

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

Основни предимства

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

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

  • Двоичната му същност затруднява ръчната проверка на текст или редактирането без специализирани 3D инструменти.
  • Изисква библиотеки за декомпресия Draco или Basis Universal при използване на разширени възможности за компресия.
  • Платформите на Apple предпочитат USDZ за вградената AR функция Quick Look в iOS, което изисква конвертиране на формата от GLB.

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

  • Първите 4 байта на всеки GLB файл са 0x67 0x6C 0x54 0x46, които образуват ASCII низа „glTF“.
  • Когато разглеждате 3D маратонка в уеб браузър на смартфон, почти сигурно гледате интерактивен GLB модел.
  • GLB е специално проектиран така, че графичният хардуер да може да прочита буферите с върхове директно от диска във VRAM без преобразуване.

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

Каква е разликата между glTF и GLB?

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

Как мога да конвертирам GLB в USDZ за Apple AR?

Можете да конвертирате GLB модели в готови за Apple USDZ файлове с едно щракване, използвайки File2File.app директно във вашия уеб браузър.

Мога ли да отварям GLB файлове в Blender?

Да. Blender включва високопроизводителен импортер и експортер за glTF/GLB, интегриран директно в софтуера.