HTML

gondolataim elsősorban játékfejlesztésről

Elsősorban játékfejlesztés magyarul: az enginem fejlesztése során felmerülő problémák, ötletek, tévutak stb dokumentálása, amely számomra és talán mások számára is hasznos lehet később Másodsorban gondolatok szavakban...

Kapcsolat:
aalberik 'at' gmail 'dot' com

Haletető

Galéria

Címkék

Összes

Linkblog

Naptár

november 2024
Hét Ked Sze Csü Pén Szo Vas
<<  < Archív
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

.ASE

2011.04.11. 20:14 :: syam

Manapság viszonylag könnyű elveszni a 3D adatleíró típusok között. Találhatunk bináris és szöveges formátumokat, statikus és animált modelleket leíró változatokat, egyszerű modell leírókat, de akár komplex jelenet leírókat is.
Egyes cégek / szervezetek próbálkoznak "szabványos" formátumok kialakításával, de a leggyakoribb modellezőprogramok saját formátumaival nehezen tudják felvenni a versenyt.

Az ASE formátum szöveges, statikus és animált adatot is tartalmazó jelenetleíró. Ebben a posztban az általam használt, lényeges elemeket emelem ki.

A formátum blokkokra osztja a tartalmat. Egy blokk * karakterrel kezdődik, egy típus jelöléssel folytatódik majd a blokkot egy { ... } páros zárja be. Természetesen a blokkok egymásba ágyazhatók ezzel egy hierarchiát adva a jelenetnek.

*MATERIAL_LIST - nevéből adódik, hogy a materialokat tartalmazza ez a blokk. Ebben szerepelnek  *MATERIAL blokkok, amelyek további  *SUBMATERIAL blokkokat tartalmazhatnak. A submaterialok külön fejtörést szoktak okozni mivel a gyakorlatban külön materialként szokás őket kezelni. A *MAP_XXXXX blokkok tartalmazzák, hogy hány és milyen textúrákból épül fel az adott material. Többek között itt találjuk a file hivatkozásokat is.

*GEOMOBJECT - ez tárol (legalább?) egy *NODE_TM és *MESH blokkot.
A *NODE_TM számunkra az egyik legizgalmasabb hiszen ez tartalmazza a meshen elvégzett transzformációkat: eltolás (*TM_POS), elforgatás (*TM_ROTAXIS és *TM_ROTANGLE - ez utóbbi radiánban értendő) és skálázás (*TM_SCALE). Az ezekből kiszámolt mátrix inverzével a mesh vertexeit beszorozva visszakapjuk a modellezés kiinduló meshét!
A *MESH blokk tartalmazza a geometriát (*MESH_VERTEX - pozíció, *MESH_TVERTEX - textúra koordináta, *MESH_VERTEXNORMAL - normál vektor) és a topológiát (*MESH_FACE és *MESH_TFACE). Fontos tudni, hogy minden egyes face-hez megadható, hogy az adott material melyik submaterialjét használja!

Engine szempontjából a formátum legnagyobb előnye, hogy transzformálva a *MESH-eket a kiindulási helyzetükbe az azonos mesheket felismerve könnyen megoldhatjuk az instance-olást és a modular level designt.

Szólj hozzá!

Címkék: ase modular level design

A bejegyzés trackback címe:

https://sakura7.blog.hu/api/trackback/id/tr852818419

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása