Двоичен glTF (.glb)
ISO/IEC СтандартBinary glTF (GLB) е самостоятелен двоичен контейнер в един файл за стандарта glTF 2.0, широко наричан „JPEG на 3D" за уеб-базирана 3D графика, добавена реалност (AR) и игрови енджини в реално време.
Конвертиране от GLTF към GLB
Безплатен конвертор от GLTF към GLB в браузъра. Конвертирайте файлове незабавно на вашето устройство.
Проверка и метаданни
Операционните системи и файловите анализатори идентифицират GLB файлове чрез проверка на началната двоична байтова последователност:
Байтов подпис на заглавката (сигнатурни байтове)
Операционните системи и файловите анализатори идентифицират GLB файлове чрез проверка на началната двоична байтова последователност:
HEX ПОДПИС (ОФСЕТ 0):
67 6C 54 46ASCII ПРЕДСТАВЯНЕ: 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 (Текущ) | GLTF | USDZ | FBX |
|---|---|---|---|---|
| Модел на опаковане | Един самостоятелен двоичен файл | 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 попадат вътре в декларираните граници на двоичния блок.
Исторически произход и етапи
Основни предимства
- Напълно самостоятелен: обединява 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, интегриран директно в софтуера.
Свързани двойки за конвертиране на GLB
Конвертирането на glTF JSON ресурси в glTF Binary контейнери обединява отделните текстови манифести, двоични буфери и текстури в един файл за по-бързо предоставяне в уеб.
Конвертирането на GLB към GLTF разпакетира един двоичен контейнер в отделни текстови файлове и файлове с ресурси, за да могат разработчиците лесно да редактират текстури и код на триизмерна геометрия.