glTF-дані (.gltf)
ISO/IEC СтандартФормат передачі 3D-графіки (glTF) - це відкрита, безоплатна специфікація на основі JSON для ефективного передавання та завантаження 3D-сцен і моделей у WebGL, WebGPU, ігрових рушіях та нативних додатках.
Конвертувати з GLTF у GLB
Безкоштовний конвертер з GLTF у GLB у браузері. Миттєво конвертуйте файли на своєму пристрої.
Аналіз та метадані
Операційні системи та аналізатори файлів ідентифікують файли glTF, перевіряючи початкову послідовність бінарних байтів:
Сигнатура заголовка на байтовому рівні (Magic Bytes)
Операційні системи та аналізатори файлів ідентифікують файли glTF, перевіряючи початкову послідовність бінарних байтів:
ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):
7B 0A 20 20 22 61 73 73 65 74 22ASCII-УЯВЛЕННЯ: {\n "asset"
Стандартизація: ISO/IEC 12113:2022 / Khronos Open Standard
Технічні характеристики
| Архітектура контейнера | Human-readable JSON document describing scene graph, nodes, meshes, accessors, materials, and animations, referencing external buffers |
| Стиснення | External textures (PNG, JPEG, WebP) and optional Draco geometry compression |
| Порядок байтів (Endianness) | UTF-8 JSON text (referencing Little-Endian .bin buffers) |
| Колірні простори | sRGB base color, Linear roughness/metallic |
| Канали та структура | Scene hierarchy, nodes, cameras, PBR materials, skinning skeletons, and morph targets |
| Максимальні розміри | Unbounded coordinate space and triangle count |
| Прозорість | Alpha mode BLEND, MASK with cutoff threshold, or volumetric transmission |
| Потокове та прогресивне завантаження | Asynchronous loading: scene JSON loads instantly while heavy binary buffers stream in background |
Технічна матриця порівняння: glTF проти конкурентів
| Технічний атрибут | glTF (Поточний) | GLB | OBJ | FBX |
|---|---|---|---|---|
| Архітектура файлу | Текст сцени JSON + супутній .bin / текстури | Один самодостатній бінарний файл | Звичайний текст вершин і граней + .mtl | Проприєтарний бінарний/ASCII контейнер |
| Стандарти матеріалів PBR | Стандартизований PBR Metallic-Roughness | Стандартизований PBR Metallic-Roughness | Застарілі матеріали Phong/Lambert | Власні проприєтарні матеріали |
| Підтримка анімації | Скелетна анімація скіннінгу та морфінг | Скелетна анімація скіннінгу та морфінг | Відсутня (тільки статична геометрія) | Складна анімація та кістки |
| Продуктивність виконання | Оптимізовано для WebGL та рушіїв реального часу | Оптимізовано для WebGL та рушіїв реального часу | Вимагає повільного парсингу та відбудови | Вимагає складного парсингу десктопним SDK |
Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі
Помилка 3D-рушія: 'Failed to load buffer: URI not found' (Не вдалося завантажити буфер: URI не знайдено).
Першопричина: Супутній двійковий файл .bin або зображення текстур не були завантажені разом із файлом .gltf.
Відновлення: Зпакуйте всі супутні файли разом або конвертуйте їх безпосередньо в єдиний файл GLB за допомогою File2File.
Аналіз безпеки та векторів атак на парсери
Файли glTF JSON посилаються на зовнішні URI (data URI або віддалені URL), які можуть викликати вразливості підробленого запиту на сервері (SSRF) або обходу шляху (path traversal).
Відомі вектори атак
- Обхід шляху через відносні URI буферів (наприклад, 'uri: ../../../etc/passwd').
- SSRF через завантаження буферів з віддаленої мережі в серверних генераторах 3D-мініатюр.
- Відмова в обслуговуванні через утворені деформовані рекурсивні цикли ієрархії вузлів.
Захисні найкращі практики:
Історичне походження та віхи
Головні переваги та плюси
- Зрозуміла для людини структура JSON дозволяє здійснювати програмне редагування, конвеєрний скриптинг та візуальний огляд.
- Модульний дизайн: відокремлює легкі метадані сцени від важкої бінарної геометрії (.bin) та текстур.
- Визначення матеріалів на основі фізичного рендерингу (PBR) гарантує ідентичний вигляд 3D-об'єктів у всіх рушіях рендерингу.
Технічні обмеження та мінуси
- Складність кількох файлів: спільне використання моделі вимагає архівації або об'єднання .gltf, .bin та зображень текстур разом.
- Дещо повільніший початковий запуск мережі порівняно з однофайловим GLB через множинні HTTP-запити.
- Залежності від відносних шляхів можуть порушитися, якщо супутні файли текстур перейменовано або переміщено.
Цікаві технічні факти
- glTF офіційно має прізвисько «JPEG для 3D», оскільки він орієнтований виключно на трансляцію та відображення під час виконання, а не на створення.
- Формат був створений спільно з Тоні Парізі, який також брав участь у створенні VRML (Virtual Reality Modeling Language) у 1994 році.
- NASA надає 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 об'єднує окремі текстові маніфести, бінарні буфери та текстури в один файл для швидшої доставки через веб.
Конвертація GLB у GLTF розпаковує єдиний бінарний контейнер у окремі текстові файли та файли ресурсів, що дозволяє розробникам легко редагувати текстури та код 3D-геометрії.
Конвертація файлів геометрії Wavefront OBJ у маніфести glTF JSON модернізує статичні 3D-моделі у веб-готові ресурси, які миттєво завантажуються в стандартних веббраузерах.