Двійковий формат glTF (.glb)
ISO/IEC СтандартБінарний glTF (GLB): це самодостатнє двійкове представлення стандарту glTF 2.0 в одному файлі, яке часто називають «JPEG для 3D» у контексті 3D-графіки для вебу, доповненої реальності (AR) та ігрових рушіїв реального часу.
Конвертувати з GLTF у GLB
Безкоштовний конвертер з GLTF у GLB у браузері. Миттєво конвертуйте файли на своєму пристрої.
Аналіз та метадані
Операційні системи та аналізатори файлів ідентифікують файли GLB, перевіряючи початкову послідовність бінарних байтів:
Сигнатура заголовка на байтовому рівні (Magic Bytes)
Операційні системи та аналізатори файлів ідентифікують файли GLB, перевіряючи початкову послідовність бінарних байтів:
ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 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 для GPU) та ExtMeshopt |
| Порядок байтів (Endianness) | Little-Endian (Intel x86 / WebGL standard) |
| Колірні простори | sRGB textures, Лінійні канали шорсткості та металічності PBR |
| Канали та структура | Матеріали PBR (металічність: шорсткість), скелетні сітки, прив’язані до кісток, цілі морфінгу, анімації, камери та джерела світла |
| Максимальні розміри | Необмежена кількість вершин і трикутників (підтримує моделі розміром у кілька гігабайтів) |
| Прозорість | Покриття альфа-каналу (MASK), альфа-змішування (BLEND) та об’ємне пропускання світла |
| Потокове та прогресивне завантаження | Один самодостатній файл із таблицями двійкових зсувів для прямого завантаження даних у буфери вершин GPU (VBO) |
Технічна матриця порівняння: GLB проти конкурентів
| Технічний атрибут | GLB (Поточний) | GLTF | USDZ | FBX |
|---|---|---|---|---|
| Модель пакування | Один самодостатній бінарний файл | JSON + зовнішні файли .bin та текстури | ZIP-архів схем USD та текстур | Проприєтарний бінарний/ASCII формат Autodesk |
| Стандарт для вебу й AR | Підтримка залежить від програми. | Підтримка залежить від програми. | Стандарт Apple iOS Quick Look AR | Стандарт імпорту для десктопних ігрових рушіїв |
| Модель матеріалів | Стандартизована модель PBR Metallic-Roughness у glTF | Стандартизований glTF PBR | Підтримка залежить від програми. | Проприєтарні шейдери Phong/Lambert/PBR |
| Швидкість читання GPU | Миттєве (пряме відображення пам'яті) | Швидке (кілька мережевих запитів) | Швидка (нестиснуті елементи ZIP) | Повільне (потребує складного розбору) |
Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі
3D-модель відображається без текстур або із суцільно чорними поверхнями.
Першопричина: Пошкоджений вбудований блок текстури або відсутнє посилання на текстуру PBR із металічністю та шорсткістю.
Відновлення: Перевірте й відновіть зміщення блоків за допомогою File2File.app 3D Converter або glTF-Transform.
Аналіз безпеки та векторів атак на парсери
Засоби розбору GLB обробляють блоки тексту JSON разом із довільними двійковими буферами. Якщо довжини буферів не збігаються, це може призвести до переповнення буфера.
Відомі вектори атак
- Читання за межами буфера, коли byteOffset + byteLength для bufferView перевищує довжину двійкового блока.
- Читання індексу вершини за межами масиву під час виконання WebGL drawElements.
- Відмова в обслуговуванні через патологічні цикли декомпресії Draco.
Рекомендації щодо захисту: Ретельно перевіряйте, що діапазони байтів accessor і bufferView повністю лежать у межах оголошеного двійкового блока.
Історичне походження та віхи
Основні переваги
- Повністю самодостатній формат: об'єднує 3D-геометрію, матеріали PBR, текстури (PNG/JPEG/KTX2) і скелетні анімації в один файл.
- Пряме завантаження в GPU: двійкові буфери геометрії відповідають структурі пам'яті WebGL / Vulkan, тож CPU не витрачає ресурси на розбір даних.
- Беззаперечний стандарт для WebGL, WebGPU, перегляду 3D-товарів в електронній комерції та мобільної доповненої реальності.
Технічні обмеження та недоліки
- Двійкова структура ускладнює ручний перегляд вмісту або редагування без спеціалізованих 3D-інструментів.
- Вимагає бібліотек декомпресії Draco або Basis Universal у разі використання додаткових розширень стиснення.
- Платформи Apple віддають перевагу USDZ для перегляду доповненої реальності у вбудованому засобі iOS Quick Look, тому GLB потрібно конвертувати.
Цікаві технічні факти
- Перші 4 байти кожного файлу GLB: це 0x67 0x6C 0x54 0x46, що в ASCII утворює рядок 'glTF'.
- Коли ви розглядаєте 3D-кросівки у веббраузері смартфона, ви майже напевно дивитеся на інтерактивну модель GLB.
- GLB спеціально розробили так, щоб графічне обладнання могло читати буфери вершин безпосередньо з диска у VRAM без перетворень.
Поширені технічні запитання
У чому різниця між glTF та GLB?
glTF: це JSON-файл, який посилається на зовнішні .bin файли геометрії та окремі файли текстур зображень. GLB об'єднує весь цей набір в один компактний бінарний файл.
Як конвертувати GLB у USDZ для Apple AR?
Ви можете конвертувати моделі GLB у файли USDZ, сумісні з пристроями Apple в один клік за допомогою File2File.app безпосередньо у вашому веббраузері.
Чи можна відкривати файли GLB у Blender?
Так. У Blender вбудовано високопродуктивні засоби імпорту й експорту glTF/GLB.
Пов'язані пари конвертації GLB
Перетворіть ресурси glTF JSON на бінарний контейнер glTF: окремий текстовий маніфест, бінарні буфери й текстури буде об’єднано в один файл для швидшого завантаження у вебі.
Конвертація GLB у GLTF розпаковує єдиний бінарний контейнер у окремі текстові файли та файли ресурсів, що дозволяє розробникам легко редагувати текстури та код 3D-геометрії.