Конвертер glTF JSON у glTF Binary
Конвертація активів glTF JSON у бінарні контейнери glTF об'єднує окремі текстові маніфести, бінарні буфери та текстури в один файл для швидшої доставки через веб.
Порівняння форматів та технічні характеристики
| Специфікація | GLTF | GLB |
|---|---|---|
| MIME-тип | model/gltf+json | model/gltf-binary |
| Тип | runtime 3D asset transmission | self-contained binary 3D container |
| Стиснення | lossless JSON manifest + external binary buffers | binary packaged JSON, buffers, and textures |
| Стандартна специфікація | Khronos glTF 2.0 Specification | Khronos glTF 2.0 Binary Container |
| Заголовок Magic Bytes | 7B 22 61 73 73 65 74 22 ({"asset" JSON root) | 67 6C 54 46 02 00 00 00 (glTF version 2 binary container) |
Огляд формату та застосування
Формат glTF JSON зберігає 3D-сцени за допомогою структури у вигляді звичайного тексту. Цей текстовий файл вказує на зовнішні бінарні файли та файли зображень текстур. Хоча це налаштування допомагає розробникам редагувати матеріали та вузли геометрії безпосередньо в текстових редакторах, перенесення моделі вимагає управління кількома файлами одночасно. Якщо один файл текстури зникне або шлях до файлу порушиться, 3D-модель не завантажиться належним чином у браузерах та ігрових рушіях. Конвертація glTF JSON у glTF Binary об'єднує всі ці окремі частини в один упакований файл. 3D-художники та веб-розробники використовують цей етап конвертації перед публікацією активів на виробничих веб-серверах або завантаженням їх у переглядачі доповненої реальності. Наявність одного файлу зменшує кількість HTTP-запитів, що прискорює час завантаження для користувачів, які відвідують сторінки товарів електронної комерції та інтерактивні 3D веб-додатки.
Технічні специфікації та розбір кодеків
Формат glTF JSON використовує MIME-тип model/gltf+json, покладаючись на текстовий маніфест JSON у парі із зовнішніми бінарними файлами та зображеннями. На відміну від нього, формат GLB використовує MIME-тип model/gltf-binary та упаковує все в один бінарний контейнер. Файл GLB починається з 12-байтового заголовка, що містить 4-байтове магічне число, встановлене на 0x46546C67, 4-байтовий номер версії та 4-байтову загальну довжину файлу. За цим заголовком слідують блоки (чанки), які зберігають маніфест JSON та дані бінарного буфера. Жоден формат не змінює базову геометрію сітки або дані пікселів текстури під час конвертації, що означає суворо безповоротну цілісність без втрат.
Сумісність з ОС та браузерами
Обидва формати працюють нативно в сучасних веб-браузерах з використанням рендерерів WebGL та WebGPU без необхідності встановлення сторонніх плагінів. Операційні системи для настільних ПК, такі як Windows та macOS, підтримують перегляд GLB через вбудовані інструменти попереднього перегляду файлів. Мобільні платформи, включаючи iOS та Android, рендерять файли GLB безпосередньо всередині додатків доповненої реальності Quick Look та Scene Viewer.
💡 Корисна інформація
Зберігайте свої оригінальні текстури у форматі PNG або JPEG перед їх пакуванням у файл GLB, щоб підтримувати візуальну точність без роздування розміру контейнера.
Порівняння форматів та технічні характеристики
Типовий 3D-актив об'ємом 15 МБ, розділений між файлом glTF JSON та кількома зовнішніми текстурами, завантажується приблизно за 3,0 секунди на стандартному з'єднанні 4G, 0,8 секунди на 5G та 0,2 секунди в оптоволоконній мережі.
Поширені запитання
Як конвертувати glTF JSON у glTF Binary без втрати якості?
Конвертація glTF JSON у GLB є повністю без втрат, оскільки процес лише перепаковує існуючий текстовий маніфест, бінарні буфери та файли зображень в один контейнер без зміни даних вершин чи додаткового стиснення пікселів текстури.
У чому різниця між glTF JSON та glTF Binary?
glTF JSON використовує зручний для читання людиною текстовий файл, який посилається на зовнішні файли bin та зображення, тоді як glTF Binary упаковує текстовий маніфест, дані геометрії та текстури в один самодостатній файл із заголовком з магічними байтами.