stringtranslate.com

глТФ

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 компания Khronos представила демо-версию 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]

С выпуском V4.x игрового движка Godot с открытым исходным кодом [26] формат gITF 2.0 полностью поддерживается. [27]

Расширения

Формат glTF можно расширить с помощью произвольного JSON для добавления новых данных и функций. Расширения можно размещать в любой части glTF, включая узлы, анимацию, материалы, текстуры, а также во всем документе. Khronos ведет неполный реестр расширений glTF на GitHub, включая все официальные расширения Khronos и несколько сторонних расширений. [9]

Производные форматы

10 августа 2015 года 3D Tiles, теперь предлагаемый стандарт сообщества OGC , построен на glTF и добавляет структуру пространственных данных, метаданные и декларативный стиль для потоковой передачи огромных гетерогенных наборов геопространственных 3D-данных. [35] [36] [37]

VRM, модельный формат виртуальной реальности, основан на формате .glb. [38] Это спецификация и формат файла трехмерного гуманоидного аватара. [39]

Программная экосистема

Khronos поддерживает средство просмотра образцов glTF для просмотра ресурсов glTF. Khronos также поддерживает валидатор glTF для проверки соответствия 3D-моделей спецификации glTF. [40] [41]

Загрузчики glTF находятся в движках WebGL с открытым исходным кодом , включая PlayCanvas , Three.js , Babylon.js , Cesium, PEX, xeogl и A-Frame. Игровой движок Godot поддерживает и рекомендует формат glTF с поддержкой как импорта, так и экспорта. [42] [43]

Конвертеры glTF с открытым исходным кодом доступны на сайтах COLLADA , FBX и OBJ . Assimp может импортировать и экспортировать glTF.

Файлы glTF также можно напрямую экспортировать из различных 3D-редакторов, таких как Blender , Vectary, Autodesk 3ds Max (встроенно или с помощью средства экспорта Verge3D [44] ), Autodesk Maya (с использованием средства экспорта babylon.js [45] ), Autodesk Inventor , Modo , Houdini , [46] Paint 3D , Godot и Substance Painter. [47]

Библиотеки утилит glTF с открытым исходным кодом доступны для языков программирования, включая JavaScript , Node.js , C++ , C# , Haskell , Java , Go , Rust , Haxe , Ada и TypeScript .

3D Commerce, рабочая группа по универсальным рекомендациям, стандартам и сертификации для создания и распространения 3D-контента в электронной коммерции , включает glTF для передачи фотореалистичных 3D-ресурсов. [48] ​​В июне 2021 года была запущена программа сертификации средств просмотра 3D Commerce, позволяющая зрителям 3D продемонстрировать, что они могут точно и надежно отображать 3D-продукты с использованием формата файла glTF. [49] Рекомендации по активам 3D Commerce, выпущенные в 2020 году, включают лучшие практики использования формата файлов glTF в 3D Commerce. [50]

Смотрите также

Рекомендации

  1. ^ «Хронос завершает разработку спецификации glTF 1.0 — пресс-релиз группы Хронос» . 19 октября 2015 г.
  2. ^ «Спецификация GLTF™ 2.0» .
  3. ^ "glTF 2.0" . сайт blender.org . Проверено 29 октября 2020 г.
  4. ^ abcde «Семейство glTF (формат передачи GL)» . loc.gov . 10 июня 2019 г. Проверено 29 октября 2020 г.
  5. ^ abcde Симкин, Алексей (27 ноября 2019 г.). «За кулисами 3D Magic». globant.com . Проверено 29 октября 2020 г.
  6. ^ abc Гамильтон, Ян (22 июля 2016 г.). «Руководитель Oculus призывает к созданию 3D-эквивалента JPEG для создания Метавселенной» . uploadvr.com . Проверено 29 октября 2020 г.
  7. ^ ab «Базовая структура glTF». Учебные пособия по glTF . Хронос . Проверено 03 октября 2023 г.
  8. ^ «Сцены и узлы». Учебные пособия по glTF . Хронос . Проверено 03 октября 2023 г.
  9. ^ ab «Реестр расширений glTF». KhronosGroup/glTF на GitHub . Группа компаний «Хронос» . Проверено 29 мая 2023 г.
  10. ^ Хьюстон, Бен. «glTF: все, что вам нужно знать». сайт Threekit.com . Проверено 29 октября 2020 г.
  11. ^ «Обновление» (PDF) . www.khronos.org . 2016 . Проверено 19 июня 2019 г.
  12. ^ «Предоставление 3D каждому через открытые стандарты» . Блог разработчиков Windows . 28 октября 2016 г.
  13. ^ «Физически обоснованные материалы в glTF - текущее состояние. М. Лимпер, Т. Штурм, SIGGRAPH 2016 WebGL и glTF BOF (27 июля 2016 г.)» . YouTube .
  14. ^ "glTF 2.0" . augmania.com . Архивировано из оригинала 1 ноября 2020 года . Проверено 29 октября 2020 г.
  15. ^ «Изменения синтаксиса glTF 2.0 и ограничения кодировки JSON · Проблема № 831 · KhronosGroup/glTF» . Гитхаб . Проверено 26 сентября 2017 г.
  16. ^ UnityGLTF: Загрузчик GLTF во время выполнения для Unity3D, The Khronos Group, 26 сентября 2017 г. , получено 26 сентября 2017 г.
  17. ^ «Предварительный просмотр и проверка на стороне клиента через Интернет · Проблема № 1081 · KhronosGroup/glTF» . Гитхаб . Проверено 26 сентября 2017 г.
  18. ^ Начиная с Unreal 5.1: «Импорт файлов glTF». Документация Unreal Engine 5.1 . Эпические игры . Проверено 29 мая 2023 г.
  19. ^ «Представляем новые API для улучшения разработки дополненной реальности с помощью ARCore» . Блог разработчиков Google . Проверено 28 сентября 2018 г.
  20. ^ Хаслам, Оливер (4 ноября 2019 г.). «Новое приложение Adobe Aero позволяет создавать AR-приложения на iPhone и iPad». imore.com . Проверено 29 октября 2020 г.
  21. ^ «glTF — это огромное дело для VR + AR». worldviz.com . Проверено 29 октября 2020 г.
  22. ^ Николс, Энди. «Что нового в Qt Quick 3D 6.0». Qt-блог . Компания Qt . Проверено 1 декабря 2022 г.
  23. Бернс, Крис (26 февраля 2020 г.). «Смитсоновский институт открытого доступа публикует множество 3D-моделей в общественное достояние» . slashgear.com . Проверено 29 октября 2020 г.
  24. ^ «ISO/IEC 12113:2022 Информационные технологии». Международная организация по стандартизации (ISO) . 26 июля 2022 г.
  25. ^ «Khrosos glTF 2.0 выпущен как международный стандарт ISO/IEC» . сайт development3d.com . 5 августа 2022 г.
  26. ^ «Годо (игровой движок)» .
  27. ^ "GLTFДокумент".
  28. ^ «Экосистема glTF добавляет реалистичности PBR для веб-рендеринга». Разработать 3D. 3 декабря 2020 г. Проверено 20 декабря 2021 г.
  29. ^ «Утверждено Khronos KTX 2.0: сжимайте текстуры с помощью RapidCompact» . Быстрый Компакт. 21 апреля 2021 г. Проверено 20 декабря 2021 г.
  30. ^ «Сжатые сетки Draco с glTF и 3D-плитами» . Цезий. 9 апреля 2018 года . Проверено 20 декабря 2021 г.
  31. ^ «Кто мы» . Открытая группа взаимодействия метавселенной . Группа ОМИ . Проверено 29 мая 2023 г.
  32. ^ «Расширения OMI glTF» . omigroup/gltf-extensions на GitHub . Группа ОМИ . Проверено 29 мая 2023 г.
  33. ^ «Что такое VRM?». Консорциум ВРМ . Консорциум VRM, Inc. Проверено 29 мая 2023 г.
  34. ^ «Расширения VRM glTF» . vrm-c/vrm-спецификация на GitHub . Консорциум VRM, Inc. Проверено 29 мая 2023 г.
  35. ^ "Цезиевые 3D-плитки" . Гитхаб .
  36. ^ «OGC рассматривает предлагаемый рабочий элемент для 3D-плиток в качестве стандарта сообщества» .
  37. ^ «Обоснование стандартов сообщества 3D-плиток» .
  38. ^ «Спецификация VRM» . github.com . Проверено 29 октября 2020 г.
  39. ^ «ВРМ» (PDF) . khronos.org . Проверено 29 октября 2020 г.
  40. ^ "Программа Khronos 3D Viewer" . Графический разговор. 16 июня 2021 г. Проверено 20 декабря 2021 г.
  41. ^ «Обзор» (PDF) . www.khronos.org . Проверено 19 июня 2019 г.
  42. ^ «Импорт 3D-сцен». Документация Godot Engine . Архивировано из оригинала 22 октября 2021 г. Проверено 27 сентября 2021 г.
  43. ^ Двигатель, Годо. «Godot Engine — почему мы все должны поддерживать glTF 2.0 как стандартный формат обмена активами для игровых движков». Двигатель Годо . Проверено 27 сентября 2021 г.
  44. ^ «Как создавать посты в Facebook в 3D» . Технологический дизайн 3D-печати . Проверено 7 мая 2018 г.
  45. ^ «Экспортировать сцену Maya как glTF» . Проверено 1 февраля 2021 г.
  46. ^ "Драйвер вывода glTF ROP" . Боковые эффекты.
  47. ^ "Учебники по GLB" . Разработчики Фейсбука . Архивировано из оригинала 29 июля 2019 года . Проверено 7 мая 2018 г.
  48. ^ «Думайте в 3D». Ведущий принт. 20 июля 2020 г. Проверено 21 июня 2022 г.
  49. ^ «Хронос запускает сертификацию онлайн-покупок с 3D-анимацией» . Венчурный бит. 9 июня 2021 г. Проверено 21 июня 2022 г.
  50. ^ «Как стандарты 3D упростят создание и использование изображений в розничной торговле» . Точки взаимодействия с розничной торговлей. 19 августа 2020 г. Проверено 21 июня 2022 г.

Внешние ссылки