3D-модель glTF (.gltf)

ISO/IEC Стандарт

Формат передачи glTF (GL Transmission Format): это открытая спецификация JSON без лицензионных отчислений для эффективной передачи и загрузки 3D-сцен и моделей в WebGL, WebGPU, игровых движках и нативных приложениях.

Конвертировать из GLTF в GLB

Бесплатный конвертер из GLTF в GLB прямо в браузере. Конвертируйте файлы мгновенно на Вашем устройстве.

Анализ и метаданные

Операционные системы и анализаторы файлов идентифицируют файлы glTF по начальной двоичной последовательности байтов:

Выберите или перетащите файлы сюда

Конфиденциально - файлы никогда не покидают ваше устройство

или вставьте Ctrl+V
Гарантия конфиденциальности без передачи по сети: 0 байт загружено на внешние серверы. Вся обработка выполнялась локально в песочнице Вашего браузера.

Сигнатура заголовка на уровне байтов (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 (Текущий)GLBOBJFBX
Архитектура файлаТекст сцены 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-адреса и выполняйте нормализацию всех путей к локальным буферам перед загрузкой.

История происхождения и ключевые этапы

2022glTF 2.0 получил международное признание в качестве стандарта ISO/IEC 12113:2022.
2017Khronos Group выпускает glTF 2.0, стандартизируя физически достоверный рендеринг (PBR) в качестве базовой функции.
2015glTF 1.0 анонсирован на конференции SIGGRAPH; авторы концепции: Фабрис Робине, Нил Треветт и Тони Паризи.

Ключевые преимущества и плюсы

  • Структура 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 «из коробки».