Конвертер на glTF JSON към glTF Binary
Конвертирането на glTF JSON активи в glTF Binary контейнери обединява отделни текстови манифести, двоични буфери и текстури в един единствен файл за по-бърза доставка в уеб.
Сравнение на формати и технически спецификации
| Спецификация | 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 манифест, сдвоен с външни bin файлове и изображения. За разлика от него, GLB форматът използва MIME типа model/gltf-binary и опакова всичко в един двоичен контейнер. Един GLB файл започва с 12-байтов заглавен блок, съдържащ 4-байтово магическо число, зададено на 0x46546C67, 4-байтов номер на версията и 4-байтова обща дължина на файла. Този заглавен блок е последван от блокове (chunks), които съхраняват JSON манифеста и данните на двоичния буфер. Нито един от двата формата не променя основната геометрия на мрежата или данните за пикселите на текстурата по време на конвертирането, което означава, че процесът е стриктно без загуби.
Съвместимост с операционни системи и браузъри
И двата формата работят нативно в съвременните уеб браузъри, използващи WebGL и WebGPU рендъри, без да изискват плъгини от трети страни. Десктоп операционните системи като Windows и macOS поддържат преглед на GLB чрез вградени инструменти за предварителен преглед на файлове. Мобилните платформи, включително iOS и Android, рендрират GLB файлове директно в приложенията за разширена реалност Quick Look и Scene Viewer.
💡 Полезна информация
Запазете оригиналните си текстури във формат PNG или JPEG, преди да ги опаковате в GLB файл, за да поддържате визуална прецизност, без да увеличавате излишно размера на контейнера.
Сравнение на формати и технически спецификации
Типичен 3D актив от 15 MB, разделен между 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 опакова текстовия манифест, геометричните данни и текстурите в един самодостатъчен файл със заглавен блок с магически байтове.