Jump to content

Открытый обмен игровыми движками

(Перенаправлено с OpenGEX )
OpenGEX
Расширение имени файла
.ogex
Тип интернет-СМИ
модель/vnd.opengex
Разработано Эрик поляк
Первоначальный выпуск 21 декабря 2013 г .; 10 лет назад ( 21 декабря 2013 )
Последний выпуск
3.0
2 февраля 2021 г .; 3 года назад ( 2021-02-02 )
Тип формата 3D компьютерная графика
Расширено с ОпенДДЛ
Открытый формат ? Да
Веб-сайт opengex .org

Open Game Engine Exchange ( OpenGEX ) — это формат, который помогает независимо от приложения передавать сложные данные сцены между приложениями 3D-графики, включая игровые движки и приложения 3D-моделирования. Для хранения данных он использует язык описания открытых данных — метод хранения произвольных данных, обеспечивающий удобочитаемость для человека. Формат файла OpenGEX зарегистрирован в Управлении по присвоению номеров в Интернете (IANA) как model/vnd.opengex тип носителя. [ 1 ]

Формат OpenGEX определяется Спецификацией Open Game Engine Exchange . [ 2 ] который доступен на официальном сайте opengex.org .

Плагины экспорта, записывающие формат OpenGEX, доступны для Autodesk Maya и 3D Studio Max доступен неофициальный плагин , а для Blender .

На самом базовом уровне файл OpenGEX состоит из иерархии узлов, набора объектов, набора материалов и некоторой дополнительной информации о глобальных единицах измерения и ориентации осей. Различные структуры узлов, объектов и материалов содержат все детали, такие как геометрические данные и дорожки анимации, в рамках иерархии дополнительных типов структур, определенных OpenGEX. В файле OpenGEX могут присутствовать следующие типы данных:

  • Иерархическая организация сцены (деревья узлов).
  • Преобразования узлов и объектов (матрицы 4×4, перемещения, повороты и масштабы).
  • Геометрические объекты, объекты освещения и объекты камеры.
  • Сетки, состоящие из массивов атрибутов вершин и массивов индексов для нескольких уровней детализации.
  • Меши со скинами (скелет, преобразования привязки-позы, данные взвешивания влияния костей).
  • Несколько целей морфинга для сеток и анимированных весов морфов.
  • Анимация ключевых кадров с помощью линейных кривых, кривых Безье и TCB.
  • Цвета и текстуры материалов (диффузный, зеркальный, нормальный, эмиссионный, непрозрачный, прозрачность).

Очень простой пример полного файла OpenGEX, описывающего зеленый куб, показан в листинге ниже. Все начинается с группы Metric структуры, определяющие единицы измерения и глобальное направление вверх. За ними следует один GeometryNode структура, которая предоставляет имя и преобразование для куба. Геометрические данные куба хранятся в файле GeometryObject структура, на которую ссылается узел геометрии. Структура объекта геометрии содержит одну сетку из треугольных примитивов , которая включает позиции каждой вершины, нормали и координаты текстуры . Наконец, Material Структура в конце файла содержит зеленый цвет диффузного отражения.

Metric (key = "distance") {float {0.01}}
Metric (key = "up") {string {"z"}}

GeometryNode $node1
{
    Name {string {"Cube"}}
    ObjectRef {ref {$geometry1}}
    MaterialRef {ref {$material1}}

    Transform
    {
        float[12]
        {
            {1.0, 0.0, 0.0,
             0.0, 1.0, 0.0,
             0.0, 0.0, 1.0,
             50.0, 50.0, 0.0}
        }
    }
}

GeometryObject $geometry1        // Cube
{
    Mesh (primitive = "triangles")
    {
        VertexArray (attrib = "position")
        {
            float[3]        // 24
            {
                {-50.0, -50.0, 0.0}, {-50.0, 50.0, 0.0},
                {50.0, 50.0, 0.0}, {50.0, -50.0, 0.0},
                {-50.0, -50.0, 100.0}, {50.0, -50.0, 100.0},
                {50.0, 50.0, 100.0}, {-50.0, 50.0, 100.0},
                {-50.0, -50.0, 0.0}, {50.0, -50.0, 0.0},
                {50.0, -50.0, 100.0}, {-50.0, -50.0, 100.0},
                {50.0, -50.0, 0.0}, {50.0, 50.0, 0.0},
                {50.0, 50.0, 100.0}, {50.0, -50.0, 100.0},
                {50.0, 50.0, 0.0}, {-50.0, 50.0, 0.0},
                {-50.0, 50.0, 100.0}, {50.0, 50.0, 100.0},
                {-50.0, 50.0, 0.0}, {-50.0, -50.0, 0.0},
                {-50.0, -50.0, 100.0}, {-50.0, 50.0, 100.0}
            }
        }

        VertexArray (attrib = "normal")
        {
            float[3]        // 24
            {
                {0.0, 0.0, -1.0}, {0.0, 0.0, -1.0}, {0.0, 0.0, -1.0},
                {0.0, 0.0, -1.0}, {0.0, 0.0, 1.0}, {0.0, 0.0, 1.0},
                {0.0, 0.0, 1.0}, {0.0, 0.0, 1.0}, {0.0, -1.0, 0.0},
                {0.0, -1.0, 0.0}, {0.0, -1.0, 0.0}, {0.0, -1.0, 0.0},
                {1.0, 0.0, 0.0}, {1.0, 0.0, 0.0}, {1.0, 0.0, 0.0},
                {1.0, 0.0, 0.0}, {0.0, 1.0, 0.0}, {0.0, 1.0, 0.0},
                {0.0, 1.0, 0.0}, {0.0, 1.0, 0.0}, {-1.0, 0.0, 0.0},
                {-1.0, 0.0, 0.0}, {-1.0, 0.0, 0.0}, {-1.0, 0.0, 0.0}
            }
        }

        VertexArray (attrib = "texcoord")
        {
            float[2]        // 24
            {
                {1.0, 0.0}, {1.0, 1.0}, {0.0, 1.0}, {0.0, 0.0},
                {0.0, 0.0}, {1.0, 0.0}, {1.0, 1.0}, {0.0, 1.0},
                {0.0, 0.0}, {1.0, 0.0}, {1.0, 1.0}, {0.0, 1.0},
                {0.0, 0.0}, {1.0, 0.0}, {1.0, 1.0}, {0.0, 1.0},
                {0.0, 0.0}, {1.0, 0.0}, {1.0, 1.0}, {0.0, 1.0},
                {0.0, 0.0}, {1.0, 0.0}, {1.0, 1.0}, {0.0, 1.0}
            }
        }

        IndexArray
        {
            uint32[3]        // 12
            {
                {0, 1, 2}, {2, 3, 0}, {4, 5, 6}, {6, 7, 4}, {8, 9, 10},
                {10, 11, 8}, {12, 13, 14}, {14, 15, 12}, {16, 17, 18},
                {18, 19, 16}, {20, 21, 22}, {22, 23, 20}
            }
        }
    }
}

Material $material1
{
    Name {string {"Green"}}

    Color (attrib = "diffuse") {float[3] {{0, 1, 0}}}
}

Разработка формата OpenGEX финансировалась за счет краудсорсинговой кампании. [ 3 ] это закончилось 8 мая 2013 года. Во время разработки формата язык описания открытых данных также был создан как общий базовый язык, на котором был построен OpenGEX. Поддержка формата OpenGEX изначально была реализована в C4 Engine версии 3.5.

См. также

[ редактировать ]
  1. ^ «Типы носителей IANA, модель» .
  2. ^ Лендьел, Эрик (2021). Спецификация Open Game Engine Exchange, версия 3.0 . ООО «Тератон Софтвер». ISBN  978-0-9858117-8-5 .
  3. ^ «Открытый формат обмена 3D-моделями и средства экспорта для популярного программного обеспечения» .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 00ce872ea3e6753fb9f00896f8dc75eb__1707993120
URL1:https://arc.ask3.ru/arc/aa/00/eb/00ce872ea3e6753fb9f00896f8dc75eb.html
Заголовок, (Title) документа по адресу, URL1:
Open Game Engine Exchange - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)