Otevřete Exchange Engine Engine - Open Game Engine Exchange
![]() | |
Přípona názvu souboru | .ogex |
---|---|
Typ internetového média | model / vnd.opengex |
Vyvinul | Eric Lengyel |
První vydání | 21. prosince 2013 |
Poslední vydání | 2.0 (29. ledna 2017 ) |
Typ formátu | 3D počítačová grafika |
Rozšířeno z | OpenDDL |
Otevřený formát ? | Ano |
webová stránka | opengex |
The Otevřete Exchange Engine Engine (OpenGEX) formát je textový formát souboru, který má usnadnit přenos složitých dat 3D scén mezi aplikacemi, jako jsou nástroje pro modelování a herní enginy. Formát OpenGEX je postaven na konceptech datové struktury definovaných Otevřít jazyk popisu dat (OpenDDL), obecný jazyk pro ukládání libovolných dat v čitelném formátu. Formát souboru OpenGEX je registrován úřadem IANA (Internet Assigned Numbers Authority) jako model / vnd.opengex
typ média.[1]
Formát OpenGEX je definován Otevřete specifikaci výměny herního modulu,[2] který je k dispozici na oficiálních webových stránkách opengex.org.
Exportní pluginy, které píší formát OpenGEX, jsou k dispozici pro Autodesk Maya, 3D Studio Max, a Mixér.
Formát
Na nejzákladnější úrovni se soubor OpenGEX skládá z hierarchie uzlů, sady objektů, sady materiálů a některých dalších informací o globálních jednotkách a orientaci os. Různé struktury uzlů, objektů a materiálů obsahují všechny podrobnosti, jako jsou geometrická data a stopy animace v hierarchii dalších typů struktur definovaných OpenGEX. V souboru OpenGEX se mohou objevit následující typy dat:
- Hierarchická organizace scén (uzlové stromy).
- Transformace uzlů a objektů (matice 4 × 4, překlady, rotace a měřítka).
- Geometrické objekty, lehké objekty a objekty fotoaparátu.
- Sítě složené z polí atributů vrcholů a indexových polí pro více úrovní podrobností.
- Síťované kůže (kostra, transformace vazby a pózy, váhové údaje o vlivu kostí).
- Více morphových cílů pro sítě a animované morphové váhy.
- Animace klíčových snímků s lineárními, Bézierovými a TCB animačními křivkami.
- Barvy a textury materiálu (rozptýlené, zrcadlové, normální, emisní, neprůhledné, průhledné).
Příklad
Velmi jednoduchý příklad kompletního souboru OpenGEX popisujícího zelenou kostku je uveden v seznamu níže. Začíná to skupinou Metrický
struktury, které definují jednotky měření a globální směr nahoru. Za nimi následuje jediný GeometryNode
struktura, která poskytuje název a transformaci krychle. Geometrická data pro krychli jsou uložena v souboru GeometryObject
struktura, na kterou odkazuje uzel geometrie. Struktura objektu geometrie obsahuje jednu síť trojúhelníkové primitivy to zahrnuje pozice vrcholů, normály a souřadnice textury. Nakonec Materiál
struktura na konci souboru obsahuje zelenou barvu rozptýleného odrazu.
Metric (key = "distance") {float {0.01}} Metric (key = "up") {string {"z"}} GeometryNode $ node1 {Name {string {"Cube"}} ObjectRef {ref {$ geometry1} } MaterialRef {ref {$ material1}} Transformace {float [16] {{1,0, 0,0, 0,0, 0,0, 0,0, 1,0, 0,0, 0,0, 0,0, 0,0, 1,0, 0,0, 50,0, 50,0, 0,0, 1,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 {unsigned_int32 [ 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 }}}}} Materiál $ material1 {Název {string {"Green"}} Barva (attrib = "diffuse") {float [3] {{0, 1, 0}}}}
Dějiny
Vývoj formátu OpenGEX byl financován kampaní zaměřenou na získávání davů[3] který skončil 8. května 2013. Jak se formát navrhoval, Otevřít jazyk popisu dat byl také vytvořen jako obecný základní jazyk, na kterém byl postaven OpenGEX. Podpora formátu OpenGEX byla původně implementována v Motor C4 verze 3.5.
Reference
- ^ „IANA Media Types, Model“.
- ^ Lengyel, Eric (2017). Otevřená specifikace pro herní engine, verze 2.0. Terathon Software LLC. ISBN 978-0-9858117-9-2.
- ^ „Otevřený formát pro výměnu 3D modelů a vývozci populárního softwaru“.