glTF JSON (.gltf)
ISO/IEC СтандартGL Transmission Format (glTF) е отворена спецификация във формат JSON без лицензионни такси за ефективно предаване и зареждане на 3D сцени и модели в WebGL, WebGPU, игрови енджини и нативни приложения.
Конвертиране от GLTF към GLB
Безплатен конвертор от GLTF към GLB в браузъра. Конвертирайте файлове незабавно на вашето устройство.
Проверка и метаданни
Операционните системи и файловите анализатори идентифицират glTF файлове чрез проверка на началната двоична байтова последователност:
Байтов подпис на заглавката (сигнатурни байтове)
Операционните системи и файловите анализатори идентифицират glTF файлове чрез проверка на началната двоична байтова последователност:
HEX ПОДПИС (ОФСЕТ 0):
7B 0A 20 20 22 61 73 73 65 74 22ASCII ПРЕДСТАВЯНЕ: {\n "asset"
Стандартизация: ISO/IEC 12113:2022 / Khronos Open Standard
Технически спецификации
| Контейнерна архитектура | Четим JSON документ, който описва графа на сцената, възлите, мрежите, аксесорите, материалите и анимациите и препраща към външни буфери |
| Компресия | Външни текстури (PNG, JPEG, WebP) и незадължителна компресия на геометрията DRACO |
| Поредност на байтовете (Endianness) | Текстът JSON е в UTF-8; препратките към двоичните буфери .bin са в ред от младшия към старшия байт (Little-Endian). |
| Цветови пространства | Основен цвят sRGB, Линейни стойности за грапавост и металност |
| Канали и структура | Йерархия на сцената, възли, камери, PBR материали, скелети за деформация и цели на преобразуване |
| Максимални размери | Неограничено координатно пространство и брой триъгълници |
| Прозрачност | Режим на алфа канала BLEND, MASK с праг за изрязване или обемно пропускане на светлина |
| Поточно предаване и прогресивно зареждане | glTF разделя описанието на сцената от двоичните данни за геометрията и текстурите, така че визуализаторът може да зарежда компонентите при нужда, вместо да чака един монолитен файл. |
Техническа сравнителна матрица: glTF спрямо конкуренти
| Технически атрибут | glTF (Текущ) | GLB | OBJ | FBX |
|---|---|---|---|---|
| Файлова структура | JSON текст на сцената + придружаващи .bin / текстури | Един самостоятелен двоичен файл | Обикновен текстов формат за върхове и лица + .mtl | Проприетарен двоичен/ASCII контейнер |
| Стандарти за материали с физически коректно изобразяване (PBR) | Стандартизиран PBR модел Metallic-Roughness | Стандартизиран PBR модел Metallic-Roughness | Стари материали Phong/Lambert | Персонализирани проприетарни материали |
| Поддръжка на анимация | Скелетна анимация (skinning) и цели за морфинг | Скелетна деформация (skinning) и цели за морфинг | Няма (само статична геометрия) | Сложна анимация и кости |
| Производителност по време на изпълнение | Оптимизиран за WebGL и двигатели в реално време | Оптимизиран за WebGL и двигатели в реално време | Изисква бавно анализиране и възстановяване | Изисква сложен анализ чрез десктоп SDK |
Често срещани видове повреди и ръководство за възстановяване на шестнадесетични данни
Грешка в 3D двигателя: „Неуспешно зареждане на буфера: URI адресът не е намерен“.
Първопричина: Придружаващият двоичен файл .bin или изображенията с текстури не са били качени заедно с файла .gltf.
Възстановяване: Пакетирайте всички придружаващи файлове заедно или ги конвертирайте директно в един GLB файл с File2File.app.
Анализ на сигурността и вектори на атака към парсера
JSON файловете на glTF съдържат препратки към външни URI адреси (data URI или отдалечени URL адреси), които могат да доведат до SSRF атаки (подправяне на заявки от страна на сървъра) или до излизане извън зададената директория (path traversal).
Известни вектори на атака
- Излизане извън зададената директория чрез относителни URI адреси на буфери (напр. 'uri: ../../../etc/passwd').
- SSRF чрез извличане на отдалечени мрежови буфери в сървърни генератори на 3D миниатюри.
- Отказ от услуга чрез неправилно формирани рекурсивни цикли в йерархията на възлите.
Най-добри практики за защита: Забранете отдалечените URL адреси и нормализирайте всички локални URI пътища на буферите преди зареждане.
Исторически произход и етапи
Основни предимства
- Четимата от хората JSON структура позволява програмно редактиране, скриптиране на работни потоци и визуална проверка.
- Модулен дизайн: отделя леките метаданни на сцената от тежката двоична геометрия (.bin) и текстурите.
- PBR материалите могат да подобрят последователността, но резултатът зависи от рендерера, осветлението и настройките.
Технически ограничения и минуси
- Многофайлова сложност: споделянето на модел изисква архивиране в ZIP или пакетно обединяване на .gltf, .bin и текстурите на изображенията.
- Малко по-бавно първоначално мрежово стартиране в сравнение с еднофайловия GLB поради множество HTTP заявки.
- Зависимостите на относителните пътища могат да се нарушат, ако придружаващите файлове с текстури бъдат преименувани или преместени.
Интересни технически факти
- glTF официално е наричан „JPEG на 3D“, тъй като е изцяло насочен към предаване и показване по време на изпълнение, а не към създаване.
- Khronos Group представя glTF, за да улесни предаването на 3D ресурси за уеб и мобилни приложения.
- НАСА предоставя 3D модели на марсоходи, сателити и астронавти за публично изтегляне във формат glTF.
Често задавани технически въпроси
Защо в моя glTF файл липсват цветовете или формите?
Файлът .gltf съдържа само инструкциите за сцената във формат JSON. Той разчита на придружаващи .bin файлове за 3D формите и .png/.jpg файлове за цветовете. Уверете се, че всички придружаващи файлове са в същата папка.
Как да превърна glTF файл в един GLB файл?
Качете своя .gltf файл заедно със съответните .bin и текстурни файлове във File2File.app, за да ги обедините незабавно в един самостоятелен .glb файл.
Кои програми поддържат glTF?
Blender, Three.js, Babylon.js, Unity, Unreal Engine, Godot и Windows 3D Viewer поддържат glTF директно.
Свързани двойки за конвертиране на glTF
Конвертирането на glTF JSON ресурси в glTF Binary контейнери обединява отделните текстови манифести, двоични буфери и текстури в един файл за по-бързо предоставяне в уеб.
Конвертирането на GLB към GLTF разпакетира един двоичен контейнер в отделни текстови файлове и файлове с ресурси, за да могат разработчиците лесно да редактират текстури и код на триизмерна геометрия.
Конвертирането на геометрични файлове Wavefront OBJ в манифести glTF JSON превръща статичните 3D модели в готови за уеб ресурси, които се зареждат бързо в стандартните браузъри.