3D-модель glTF (.gltf)
ISO/IEC СтандартФормат передачи glTF (GL Transmission Format): это открытая спецификация JSON без лицензионных отчислений для эффективной передачи и загрузки 3D-сцен и моделей в WebGL, WebGPU, игровых движках и нативных приложениях.
Конвертировать из GLTF в GLB
Бесплатный конвертер из GLTF в GLB прямо в браузере. Конвертируйте файлы мгновенно на Вашем устройстве.
Анализ и метаданные
Операционные системы и анализаторы файлов идентифицируют файлы glTF по начальной двоичной последовательности байтов:
Сигнатура заголовка на уровне байтов (Magic Bytes)
Операционные системы и анализаторы файлов идентифицируют файлы glTF по начальной двоичной последовательности байтов:
HEX-СИГНАТУРА (СМЕЩЕНИЕ 0):
7B 0A 20 20 22 61 73 73 65 74 22ПРЕДСТАВЛЕНИЕ ASCII: { "asset"
Стандартизация: ISO/IEC 12113:2022 / Открытый стандарт Khronos
Технические спецификации
| Архитектура контейнера | Читаемый человеком документ JSON, описывающий граф сцены, узлы, сетки, аксессоры, материалы и анимацию со ссылками на внешние буферы |
| Сжатие | Внешние текстуры (PNG, JPEG, WebP) и дополнительное сжатие геометрии Draco |
| Порядок байтов (Endianness) | Текст UTF-8 JSON (ссылающийся на буферы .bin с прямым порядком байтов) |
| Цветовые пространства | Базовый цвет sRGB, Линейная шероховатость / металличность |
| Каналы и структура | Иерархия сцены, узлы, камеры, материалы PBR, скелетная анимация и цели морфинга |
| Максимальные размеры | Неограниченное координатное пространство и количество треугольников |
| Прозрачность | Режим прозрачности BLEND, MASK с пороговым значением отсечения или объемное пропускание |
| Потоковая передача и прогрессивная загрузка | glTF отделяет описание сцены от двоичных данных геометрии и текстур, поэтому программа просмотра может загружать компоненты по мере необходимости, не дожидаясь загрузки одного большого файла целиком. |
Техническая матрица сравнения: glTF с конкурентами
| Технический атрибут | glTF (Текущий) | GLB | OBJ | FBX |
|---|---|---|---|---|
| Архитектура файла | Текст сцены JSON + сопутствующие .bin / текстуры | Один автономный двоичный файл | Обычный текст вершин и граней + .mtl | Проприетарный двоичный или текстовый контейнер |
| Стандарты материалов PBR | Стандартизированный Metallic-Roughness PBR | Стандартизированный Metallic-Roughness PBR | Устаревшие материалы Phong/Lambert | Пользовательские проприетарные материалы |
| Поддержка анимации | Скелетный скининг и целевые морфы | Скелетный скининг и целевые морфы | Отсутствует (только статическая геометрия) | Сложная анимация и кости |
| Производительность выполнения | Оптимизировано для WebGL и движков реального времени | Оптимизировано для WebGL и движков реального времени | Требует медленного разбора и восстановления | Требует сложного разбора SDK для ПК |
Распространенные сценарии повреждения и руководство по восстановлению в HEX
Ошибка 3D-движка: 'Failed to load buffer: URI not found' (Не удалось загрузить буфер: URI не найден).
Первопричина: Сопутствующий двоичный файл .bin или изображения текстур не были загружены вместе с файлом .gltf.
Восстановление: Запакуйте все сопутствующие файлы вместе или конвертируйте их напрямую в единый файл GLB с помощью File2File.app.
Анализ безопасности и векторы атак на парсер
Файлы glTF JSON ссылаются на внешние URI (URI данных или удаленные URL-адреса), что может спровоцировать подделку запросов на стороне сервера (SSRF) или обход каталога.
Известные векторы атак
- Обход каталога с помощью относительных URI буферов (например, 'uri: ../../../etc/passwd').
- Подделка запросов на стороне сервера (SSRF) при загрузке сетевых буферов в серверных средствах создания миниатюр 3D-моделей.
- Отказ в обслуживании из-за некорректных циклических иерархий узлов.
Лучшие практики защиты: Запретите удаленные URL-адреса и выполняйте нормализацию всех путей к локальным буферам перед загрузкой.
История происхождения и ключевые этапы
Ключевые преимущества и плюсы
- Структура JSON удобна для чтения и позволяет редактировать данные программно, писать сценарии для конвейеров обработки и просматривать их вручную.
- Модульная конструкция: отделяет легкие метаданные сцены от тяжелой двоичной геометрии (.bin) и текстур.
- Материалы PBR могут повысить согласованность, но результат зависит от рендерера, освещения и настроек.
Технические ограничения и минусы
- Сложность использования нескольких файлов: для передачи модели требуется архивация или объединение файлов .gltf, .bin и изображений текстур.
- Немного более долгий начальный сетевой запуск по сравнению с однофайловым GLB из-за множества HTTP-запросов.
- Зависимости от относительных путей могут нарушиться, если сопутствующие файлы текстур будут переименованы или перемещены.
Интересные технические факты
- Формат glTF официально называют «JPEG для 3D», так как он ориентирован строго на передачу и отображение во время выполнения, а не на создание.
- Группа Khronos представила glTF, чтобы упростить передачу 3D-ресурсов для веб-приложений и мобильных устройств.
- NASA предоставляет 3D-модели марсоходов, спутников и астронавтов для свободного скачивания общественностью в формате glTF.
Часто задаваемые технические вопросы
Почему в моем файле glTF отсутствуют цвета или формы?
Файл .gltf содержит только описание сцены в формате JSON. Для хранения 3D-геометрии ему нужны сопутствующие файлы .bin, а для цветов: файлы .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 распаковывает единый двоичный контейнер в отдельные текстовые файлы и файлы ресурсов, чтобы разработчики могли легко редактировать текстуры и код 3D-геометрии.
Конвертация файлов геометрии Wavefront OBJ в манифесты JSON glTF модернизирует статические трехмерные модели в веб-ресурсы, которые быстро загружаются в стандартных веб-браузерах.