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

ISO/IEC Стандарт

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

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

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

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

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

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

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

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

Сигнатура заголовка на уровне байтов (Magic Bytes)

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

HEX-СИГНАТУРА (СМЕЩЕНИЕ 0):

7B 0A 20 20 22 61 73 73 65 74 22

ПРЕДСТАВЛЕНИЕ ASCII: {\n "asset"

Стандартизация: ISO/IEC 12113:2022 / Открытый стандарт Khronos

Технические спецификации

Архитектура контейнераЧитаемый человеком документ JSON, описывающий граф сцены, узлы, сетки, аксессоры, материалы и анимацию со ссылками на внешние буферы
СжатиеВнешние текстуры (PNG, JPEG, WebP) и дополнительное сжатие геометрии Draco
Порядок байтов (Endianness)Текст UTF-8 JSON (ссылающийся на буферы .bin с прямым порядком байтов)
Цветовые пространстваБазовый цвет sRGB, Линейная шероховатость / металличность
Каналы и структураИерархия сцены, узлы, камеры, материалы PBR, скелеты скининга и целевые морфы
Макс. габаритыНеограниченное координатное пространство и количество треугольников
ПрозрачностьРежим прозрачности BLEND, MASK с пороговым значением отсечения или объемное пропускание
Потоковая передача и прогрессивная загрузкаАсинхронная загрузка: JSON сцены загружается мгновенно, пока тяжелые двоичные буферы передаются в фоновом режиме

Техническая матрица сравнения: 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.

Анализ безопасности и векторы атак на парсер

Файлы 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) гарантирует идентичный внешний вид 3D-активов во всех движках.

Технические ограничения и минусы

  • Сложность использования нескольких файлов: для передачи модели требуется архивация или объединение файлов .gltf, .bin и изображений текстур.
  • Немного более долгий начальный сетевой запуск по сравнению с однофайловым GLB из-за множества HTTP-запросов.
  • Зависимости от относительных путей могут нарушиться, если сопутствующие файлы текстур будут переименованы или перемещены.

Интересные технические факты

  • Формат glTF официально называют «JPEG для 3D», так как он ориентирован строго на передачу и отображение во время выполнения, а не на создание.
  • Одним из сооснователей формата является Тони Паризи, который в 1994 году также создал язык VRML (Virtual Reality Modeling Language).
  • 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 «из коробки».