глТФ
![]() | |
Расширение имени файла | .gltf, .glb |
---|---|
Тип интернет-СМИ | модель/gltf+json, модель/gltf-двоичный файл |
Разработано | Хронос Групп |
Первоначальный выпуск | 19 октября 2015 г [1] |
Последний выпуск | 2.0.1 11 октября 2021 г [2] |
Тип формата | 3D компьютерная графика |
Веб-сайт | Хронос |
glTF (формат передачи графической библиотеки или формат передачи GL, ранее известный как формат передачи WebGL или WebGL TF) — это стандартный формат файлов для трехмерных сцен и моделей . Файл glTF использует одно из двух возможных расширений файла: .gltf ( JSON / ASCII ) или .glb ( двоичный ). Файлы .gltf и .glb могут ссылаться на внешние двоичные ресурсы и ресурсы текстур. В качестве альтернативы оба формата могут быть автономными за счет прямого внедрения буферов двоичных данных (в виде строк в кодировке Base64 в файлах .gltf или в виде необработанных массивов байтов в файлах .glb). [3] [4] [5] Открытый стандарт, разработанный и поддерживаемый Khronos Group , поддерживает геометрию, внешний вид 3D-модели , иерархию графов сцен и анимацию. [4] Он задуман как оптимизированный, совместимый формат для доставки 3D-ресурсов, при этом минимизирующий размер файла и обработку приложениями во время выполнения. [4] [6] Таким образом, его создатели назвали его « JPEG 3D». [4]
Обзор
[ редактировать ]Формат glTF хранит данные преимущественно в формате JSON. JSON также может содержать блоки двоичных данных, известные как буферы, и ссылаться на внешние файлы для хранения данных сетки, изображений и т. д. [7] Двоичный формат .glb также содержит текст JSON, но сериализованный с помощью заголовков двоичных фрагментов, что позволяет напрямую добавлять большие двоичные объекты в файл.
Фундаментальными строительными блоками сцены glTF являются узлы. Узлы организованы в иерархию, так что у узла могут быть другие узлы, определенные как дочерние. Узлы могут иметь преобразования относительно своего родителя. Узлы могут ссылаться на ресурсы, такие как сетки, оболочки и камеры. Сетки могут относиться к материалам, которые относятся к текстурам, которые относятся к изображениям. Сцены определяются с использованием массива корневых узлов. [8]
Большинство свойств glTF верхнего уровня используют плоскую иерархию хранения. Узлы сохраняются в массиве под названием «узлы», и на них ссылаются по индексу, в том числе и другие узлы. Сцена glTF обращается к своим корневым узлам по индексу. Кроме того, узлы относятся к сеткам по индексу, которые относятся к материалам по индексу, которые относятся к текстурам по индексу, которые относятся к изображениям по индексу. [7]
Все структуры данных glTF поддерживают расширение с использованием свойства JSON «extensions». Это позволяет добавлять произвольные данные JSON в любую структуру данных, определенную с использованием спецификации расширения, основанной на базовой спецификации glTF. смотрите в разделе «Расширения» . Дополнительную информацию [9]
Релизы
[ редактировать ]глТФ 1.0
[ редактировать ]Члены рабочей группы COLLADA придумали формат файла в 2012 году. [10] На SIGGRAPH 2012 Хронос представил демо-версию glTF, которая тогда называлась WebGL (WebGL TF). форматом передачи [5] 19 октября 2015 г. Khronos выпустила спецификацию glTF 1.0. [5]
Принятие glTF 1.0
[ редактировать ]На SIGGRAPH 2016 компания Oculus объявила о переходе на glTF, сославшись на сходство с их форматом ovrscene. [6] [11] В октябре 2016 года Microsoft присоединилась к рабочей группе по 3D-форматам в Khronos для совместной работы над glTF. [12]
глТФ 2.0
[ редактировать ]Вторая версия, glTF 2.0, была выпущена в июне 2017 года и представляет собой полную переработку формата файла версии 1.0, при этом большинство инструментов используют версию 2.0. [4] [5] По предложению Фраунгофера [13] Первоначально представленный на SIGGRAPH 2016, был добавлен физически основанный рендеринг (PBR), заменяющий WebGL шейдеры , используемые в glTF 1.0. [14] glTF 2.0 добавил двоичный формат GLB в базовую спецификацию. Другие обновления включают разреженные средства доступа и цели морфинга для таких методов, как анимация лица, а также настройки схемы и важные изменения для крайних случаев или производительности, такие как замена свойств объекта glTF верхнего уровня массивами для более быстрого доступа на основе индекса. [15] Продолжается работа над импортом и экспортом в Unity. [16] и интегрированный многопользовательский просмотрщик/валидатор. [17]
Принятие glTF 2.0
[ редактировать ]3 марта 2017 года Microsoft объявила, что будет использовать glTF 2.0 в качестве формата 3D-ресурсов во всей своей линейке продуктов, включая Paint 3D , 3D Viewer , Remix 3D , Babylon.js и Microsoft Office . Sketchfab также объявил о поддержке glTF 2.0. По состоянию на 2019 год форматы glTF и GLB используются и поддерживаются такими компаниями, как DGG, UX3D, Sketchfab, Facebook , Microsoft, Oculus, Google , Adobe , Box , TurboSquid , Unreal Engine. [18] и Qt Quick 3D . [6] [5] [19] [20] Этот формат был отмечен как важный стандарт дополненной реальности , интегрируемый с программным обеспечением для моделирования, таким как Autodesk Maya , Autodesk 3ds Max и Poly . [21] [22]
В феврале 2020 года Смитсоновский институт запустил свою инициативу открытого доступа, выпустив в общественное достояние около 2,8 миллиона 2D-изображений и 3D-моделей, используя glTF для 3D-моделей. [23]
В июле 2022 года glTF 2.0 был выпущен как международный стандарт ISO / IEC 12113:2022. [24] Khronos заявила, что будет регулярно отправлять обновления и новые широко распространенные функции glTF в обновленные версии ISO/IEC 12113, чтобы гарантировать отсутствие долгосрочных расхождений между спецификациями ISO/IEC и Khronos. [25]
Игровой движок Godot с открытым исходным кодом поддерживает импорт файлов glTF 2.0, начиная с версии 3.0, и экспорт, начиная с версии 4.0. [26]
Расширения
[ редактировать ]Формат glTF можно расширить с помощью произвольного JSON для добавления новых данных и функций. Расширения можно размещать в любой части glTF, включая узлы, анимацию, материалы, текстуры, а также во всем документе. Khronos ведет неполный реестр расширений glTF на GitHub, включая все официальные расширения Khronos и несколько сторонних расширений. [9]
- Расширения PBR моделируют физический внешний вид объектов реального мира, позволяя разработчикам создавать реалистичные 3D-ресурсы с правильным внешним видом. По мере выпуска новых расширений PBR они продолжают расширять возможности PBR в рамках glTF, позволяя реалистично отображать более широкий спектр сцен и объектов как 3D-ресурсы. [27]
- Расширение KTX 2.0 для универсального сжатия текстур позволяет сильно сжимать 3D-модели в формате glTF и использовать встроенные форматы текстур, уменьшая размер файла и повышая скорость рендеринга. [28]
- Draco — это расширение glTF для сжатия сеток, позволяющее сжимать и распаковывать 3D-сетки, помогая уменьшить размер 3D-файлов. Он сжимает атрибуты вершин, нормали, цвета и координаты текстуры. [29]
- Группа OMI разработала различные расширения glTF для совместимости игровых движков. Сюда входят расширения для физических форм, физических тел, физических соединений, воспроизведения звука, сидений, точек появления и многого другого. [30] [31]
- Консорциум VRM разработал расширения glTF для продвинутых гуманоидных 3D-аватаров, включая динамические пружинящие кости и мультяшные материалы. [32] [33]
Производные форматы
[ редактировать ]10 августа 2015 года 3D Tiles, теперь предлагаемый стандарт сообщества OGC , построен на glTF и добавляет структуру пространственных данных, метаданные и декларативный стиль для потоковой передачи огромных гетерогенных наборов геопространственных 3D-данных. [34] [35] [36]
VRM, модельный формат виртуальной реальности, основан на формате .glb. [37] Это спецификация и формат файла трехмерного гуманоидного аватара. [38]
Программная экосистема
[ редактировать ]Khronos поддерживает средство просмотра образцов glTF для просмотра ресурсов glTF. Khronos также поддерживает валидатор glTF для проверки соответствия 3D-моделей спецификации glTF. [39] [40]
Загрузчики glTF находятся в с открытым исходным кодом, движках WebGL включая PlayCanvas , Three.js , Babylon.js , Cesium , PEX , xeogl и A-Frame . поддерживает Игровой движок Godot и рекомендует формат glTF с поддержкой как импорта, так и экспорта. [41] [42]
с открытым исходным кодом Конвертеры glTF доступны на сайтах COLLADA , FBX и OBJ . Assimp может импортировать и экспортировать glTF.
Файлы glTF также можно напрямую экспортировать из различных 3D-редакторов, таких как Blender , Vectary , Autodesk 3ds Max (встроенно или с помощью Verge3D) . средства экспорта [43] ), Autodesk Maya (с использованием babylon.js средства экспорта [44] ), Autodesk Inventor , Модо , Гудини , [45] Paint 3D , Godot и Substance Painter . [46]
Библиотеки утилит glTF с открытым исходным кодом доступны для языков программирования, включая JavaScript , Node.js , C++ , C# , Haskell , Java , Go , Rust , Haxe , Ada и TypeScript . Khronos хранит список этих библиотек и других связанных приложений на своем сайте экосистемы .
3D Commerce, рабочая группа по универсальным рекомендациям, стандартам и сертификации для создания и распространения 3D-контента в электронной коммерции , включает glTF для передачи фотореалистичных 3D-ресурсов. [47] В июне 2021 года была запущена программа сертификации средств просмотра 3D Commerce, позволяющая зрителям 3D продемонстрировать, что они могут точно и надежно отображать 3D-продукты с использованием формата файла glTF. [48] Рекомендации по активам 3D Commerce, выпущенные в 2020 году, включают рекомендации по использованию формата файлов glTF в 3D Commerce. [49]
См. также
[ редактировать ]- СОБРАНО
- Открытый обмен игровыми движками
- JSON
- Алембик (компьютерная графика)
- Универсальное описание сцены
Ссылки
[ редактировать ]- ^ «Khronos завершает разработку спецификации glTF 1.0 — пресс-релиз группы Khronos» . 19 октября 2015 г.
- ^ «Спецификация GLTF™ 2.0» .
- ^ «glTF 2.0» . сайт blender.org . Проверено 29 октября 2020 г.
- ^ Перейти обратно: а б с д и «Семейство glTF (формат передачи GL)» . loc.gov . 10 июня 2019 г. Проверено 29 октября 2020 г.
- ^ Перейти обратно: а б с д и Симкин, Алексей (27 ноября 2019 г.). «За кулисами 3D Magic» . globant.com . Проверено 29 октября 2020 г.
- ^ Перейти обратно: а б с Гамильтон, Ян (22 июля 2016 г.). «Руководитель Oculus призывает к созданию 3D-эквивалента JPEG для создания Метавселенной» . uploadvr.com . Проверено 29 октября 2020 г.
- ^ Перейти обратно: а б «Базовая структура glTF» . Учебные пособия по glTF . Хронос . Проверено 03 октября 2023 г.
- ^ «Сцены и узлы» . Учебные пособия по glTF . Хронос . Проверено 03 октября 2023 г.
- ^ Перейти обратно: а б «Реестр расширений glTF» . KhronosGroup/glTF на GitHub . Группа компаний «Хронос» . Проверено 29 мая 2023 г.
- ^ Хьюстон, Бен. «glTF: все, что вам нужно знать» . сайт Threekit.com . Проверено 29 октября 2020 г.
- ^ «Обновление» (PDF) . www.khronos.org . 2016 . Проверено 19 июня 2019 г.
- ^ «Доступность 3D к каждому через открытые стандарты» . Блог разработчиков Windows . 28 октября 2016 г.
- ^ «Физически обоснованные материалы в glTF — современное состояние. М. Лимпер, Т. Штурм, SIGGRAPH 2016 WebGL и glTF BOF (27 июля 2016 г.)» . Ютуб .
- ^ «glTF 2.0» . augmania.com . Архивировано из оригинала 1 ноября 2020 года . Проверено 29 октября 2020 г.
- ^ «Изменения синтаксиса glTF 2.0 и ограничения кодировки JSON · Проблема № 831 · KhronosGroup/glTF» . Гитхаб . Проверено 26 сентября 2017 г.
- ^ UnityGLTF: Загрузчик GLTF среды выполнения для Unity3D , The Khronos Group, 26 сентября 2017 г. , получено 26 сентября 2017 г.
- ^ «Предварительный просмотр и проверка на стороне клиента через Интернет · Проблема № 1081 · KhronosGroup/glTF» . Гитхаб . Проверено 26 сентября 2017 г.
- ^ Начиная с Unreal 5.1: «Импорт файлов glTF» . Документация Unreal Engine 5.1 . Эпические игры . Проверено 29 мая 2023 г.
- ^ «Представляем новые API для улучшения разработки дополненной реальности с помощью ARCore» . Блог разработчиков Google . Проверено 28 сентября 2018 г.
- ^ Хаслам, Оливер (4 ноября 2019 г.). «Новое приложение Adobe Aero позволяет создавать AR-приложения на iPhone и iPad» . imore.com . Проверено 29 октября 2020 г.
- ^ «glTF — это огромная сделка для VR + AR» . worldviz.com . Проверено 29 октября 2020 г.
- ^ Николс, Энди. «Что нового в Qt Quick 3D 6.0» . Qt-блог . Компания Qt . Проверено 1 декабря 2022 г.
- ^ Бернс, Крис (26 февраля 2020 г.). «Инициатива Смитсоновского института открытого доступа делает множество 3D-моделей общедоступным» . slashgear.com . Проверено 29 октября 2020 г.
- ^ «ISO/IEC 12113:2022 Информационные технологии» . Международная организация по стандартизации (ISO) . 26 июля 2022 г.
- ^ «Khronos glTF 2.0 выпущен как международный стандарт ISO/IEC» . сайт development3d.com . 5 августа 2022 г.
- ^ Ли, Эрнест (04 января 2021 г.). «Представляем экспортер сцен Godot glTF 2.0» . Двигатель Годо . Проверено 23 апреля 2024 г.
- ^ «Экосистема glTF добавляет реалистичности PBR для веб-рендеринга» . Разработать 3D. 3 декабря 2020 г. Проверено 20 декабря 2021 г.
- ^ «Хронос KTX 2.0 ратифицирован: сжимайте текстуры с помощью RapidCompact» . Быстрый Компакт. 21 апреля 2021 г. Проверено 20 декабря 2021 г.
- ^ «Сжатые сетки Draco с glTF и 3D-тайлами» . Цезий. 9 апреля 2018 года . Проверено 20 декабря 2021 г.
- ^ «Кто мы» . Открытая группа взаимодействия метавселенной . Группа ОМИ . Проверено 29 мая 2023 г.
- ^ «Расширения OMI glTF» . omigroup/gltf-extensions на GitHub . Группа ОМИ . Проверено 29 мая 2023 г.
- ^ «Что такое VRM?» . Консорциум ВРМ . Консорциум VRM, Inc. Проверено 29 мая 2023 г.
- ^ «Расширения VRM glTF» . vrm-c/vrm-спецификация на GitHub . Консорциум VRM, Inc. Проверено 29 мая 2023 г.
- ^ «Цезиевые 3D плитки» . Гитхаб .
- ^ «OGC рассматривает предлагаемый рабочий элемент для 3D Tiles как стандарт сообщества» .
- ^ «Обоснование стандартов сообщества 3D-плитки» .
- ^ «Спецификация VRM» . github.com . Проверено 29 октября 2020 г.
- ^ «ВРМ» (PDF) . khronos.org . Проверено 29 октября 2020 г.
- ^ «Программа Khronos 3D Viewer» . Графический разговор. 16 июня 2021 г. Проверено 20 декабря 2021 г.
- ^ «Обзор» (PDF) . www.khronos.org . Проверено 19 июня 2019 г.
- ^ «Импорт 3D-сцен» . Документация Godot Engine . Архивировано из оригинала 22 октября 2021 г. Проверено 27 сентября 2021 г.
- ^ Двигатель, Годо. «Godot Engine — почему мы все должны поддерживать glTF 2.0 как стандартный формат обмена активами для игровых движков» . Двигатель Годо . Проверено 27 сентября 2021 г.
- ^ «Как создавать 3D-посты в Facebook» . Технологический дизайн 3D-печати . Проверено 7 мая 2018 г.
- ^ «Экспортировать сцену Maya как glTF» . Проверено 1 февраля 2021 г.
- ^ «драйвер вывода glTF ROP» . Боковые эффекты.
- ^ «Уроки ГЛБ» . Разработчики Фейсбука . Архивировано из оригинала 29 июля 2019 года . Проверено 7 мая 2018 г.
- ^ «Думай в 3D» . Ведущий принт. 20 июля 2020 г. Проверено 21 июня 2022 г.
- ^ «Хронос запускает сертификацию онлайн-покупок с 3D-анимацией» . Венчурный бит. 9 июня 2021 г. Проверено 21 июня 2022 г.
- ^ «Как стандарты 3D упростят создание и использование изображений в розничной торговле» . Точки взаимодействия с розничной торговлей. 19 августа 2020 г. Проверено 21 июня 2022 г.