Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
Quimby
Založen: 21. 04. 2009 Příspěvky: 51
|
Zaslal: 21. květen 2009, 07:23:08 Předmět: ASE |
|
|
kód: |
*3DSMAX_ASCIIEXPORT 200
*COMMENT "AsciiExport Version 2,00 - Mon May 11 17:04:49 2009"
*SCENE {
*SCENE_FILENAME ""
*SCENE_FIRSTFRAME 0 //prvni snimek
*SCENE_LASTFRAME 100 //posledni snimek
*SCENE_FRAMESPEED 30//rychlost prehravani
*SCENE_TICKSPERFRAME 160
*SCENE_BACKGROUND_STATIC 0.0000 0.0000 0.0000
*SCENE_AMBIENT_STATIC 0.0000 0.0000 0.0000
}
*MATERIAL_LIST {
*MATERIAL_COUNT 0 //pocet textur
}
*GEOMOBJECT {
*NODE_NAME "Box01" // jmeno objektu
*NODE_TM { //popis objektu
*NODE_NAME "Box01"
*INHERIT_POS 0 0 0
*INHERIT_ROT 0 0 0
*INHERIT_SCL 0 0 0
*TM_ROW0 1.0000 0.0000 0.0000
*TM_ROW1 0.0000 1.0000 0.0000
*TM_ROW2 0.0000 0.0000 1.0000
*TM_ROW3 -3.1137 -8.9624 0.0000
*TM_POS -3.1137 -8.9624 0.0000 //pozice
*TM_ROTAXIS 0.0000 0.0000 0.0000 //rotace?
*TM_ROTANGLE 0.0000
*TM_SCALE 1.0000 1.0000 1.0000
*TM_SCALEAXIS 0.0000 0.0000 0.0000
*TM_SCALEAXISANG 0.0000
}
*MESH {
*TIMEVALUE 0
*MESH_NUMVERTEX 8 //pocet vertexu
*MESH_NUMFACES 12 // pocet face
*MESH_VERTEX_LIST {
*MESH_VERTEX 0 -44.5299 -13.0552 0.0000
*MESH_VERTEX 1 38.3026 -13.0552 0.0000
*MESH_VERTEX 2 -44.5299 -4.8695 0.0000
*MESH_VERTEX 3 38.3026 -4.8695 0.0000
*MESH_VERTEX 4 -44.5299 -13.0552 36.5173
*MESH_VERTEX 5 38.3026 -13.0552 36.5173
*MESH_VERTEX 6 -44.5299 -4.8695 36.5173
*MESH_VERTEX 7 38.3026 -4.8695 36.5173
}
*MESH_FACE_LIST { // face hadam ze to vzdy tvori trojuhelnik ktery se vytvori spojenim vertexu A B C ale nwm co je AB BC AC
*MESH_FACE 0: A: 0 B: 2 C: 3 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 2 *MESH_MTLID 1
*MESH_FACE 1: A: 3 B: 1 C: 0 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 2 *MESH_MTLID 1
*MESH_FACE 2: A: 4 B: 5 C: 7 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 3 *MESH_MTLID 0
*MESH_FACE 3: A: 7 B: 6 C: 4 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 3 *MESH_MTLID 0
*MESH_FACE 4: A: 0 B: 1 C: 5 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 4 *MESH_MTLID 4
*MESH_FACE 5: A: 5 B: 4 C: 0 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 4 *MESH_MTLID 4
*MESH_FACE 6: A: 1 B: 3 C: 7 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 5 *MESH_MTLID 3
*MESH_FACE 7: A: 7 B: 5 C: 1 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 5 *MESH_MTLID 3
*MESH_FACE 8: A: 3 B: 2 C: 6 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 6 *MESH_MTLID 5
*MESH_FACE 9: A: 6 B: 7 C: 3 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 6 *MESH_MTLID 5
*MESH_FACE 10: A: 2 B: 0 C: 4 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 7 *MESH_MTLID 2
*MESH_FACE 11: A: 4 B: 6 C: 2 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 7 *MESH_MTLID 2
}
}
*PROP_MOTIONBLUR 1
*PROP_CASTSHADOW 1
*PROP_RECVSHADOW 1
*WIREFRAME_COLOR 0.8392 0.8941 0.6000
}
|
nece jsem se snazil prelozit ale neco proste nwm jak zaradit do openGL aby se to spravne vykreslilo.
kdyby mi nekdo pomohl byl bych vdecnej vim ze tu nejsouztextury a animace ale to zatim nechci jen cisty nahrani objektu |
|
Návrat nahoru |
|
 |
KoudyDev
Založen: 19. 08. 2008 Příspěvky: 14 Bydliště: Hradec Králové
|
|
Návrat nahoru |
|
 |
Quimby
Založen: 21. 04. 2009 Příspěvky: 51
|
Zaslal: 21. květen 2009, 08:09:37 Předmět: |
|
|
to prvni uz jsem stahl ale je tam toho moc a vubec nechapu hlavne Equalstring a todruhy nwm |
|
Návrat nahoru |
|
 |
VladR
Založen: 30. 07. 2007 Příspěvky: 1322 Bydliště: Greater New York City Area
|
Zaslal: 21. květen 2009, 08:13:28 Předmět: |
|
|
No tak si na to treba sadnut a rozdebugovat to, resp. vygooglit.
Ked som si kodil ASE parser pred 10 rokmi, tak uz vtedy mi google vyhodil linky na popis ASE, takze venuj aspon 10 min googleniu a urcite najdes odpoved na vsetky tagy, ktore v ASE su.
Ten zvysok je uz len experimentovanie - teda upravis mesh v maxku, exportnes, importnes v engine. Rinse and repeat. Toto za teba nik neurobi. |
|
Návrat nahoru |
|
 |
KoudyDev
Založen: 19. 08. 2008 Příspěvky: 14 Bydliště: Hradec Králové
|
|
Návrat nahoru |
|
 |
VladR
Založen: 30. 07. 2007 Příspěvky: 1322 Bydliště: Greater New York City Area
|
Zaslal: 21. květen 2009, 08:34:59 Předmět: |
|
|
Toto su tagy, ktore REALNE na zaciatok potrebujes rozparsovat aby si mohol rendernut mesh:
MESH_NUMVERTEX 8 //pocet vertexu
MESH_NUMFACES 12 // pocet face
MESH_VERTEX_LIST
MESH_VERTEX 0 -44.5299 -13.0552 0.0000
MESH_FACE_LIST
MESH_FACE 0: A: 0 B: 2 C: 3 AB: 1 BC: 1 CA: 0
Prve dva si uz rozluskol.
MESH_VERTEX_LIST a MESH_FACE_LIST, kedze to asi nevies, je zoznam vertexov a facov.
Posledne co musis rozlusknut je to co, znamena : A: 0 B: 2 C: 3 AB: 1 BC: 1 CA: 0 v poslednom tagu, ale skus aspon TROCHA porozmyslat.
Na zvysnych 137 tagov sa vykasli. Az ich budes potrebovat, doplnis si parser, to je najmenej.
Dam ti este jeden hint : Na zaciatok si vypni backface culling, pokial by si zadal indexy v opacnom poradi. |
|
Návrat nahoru |
|
 |
Quimby
Založen: 21. 04. 2009 Příspěvky: 51
|
Zaslal: 21. květen 2009, 08:38:30 Předmět: |
|
|
skousim naapda me ze to tvori ten trojuhelnik spojenych ze 3 vertexu a
MESH_FACE 0: A: 0 B: 2 C: 3 AB: 1 BC: 1 CA: 0
je ze to spoji vertex 0,2,3 ale AB BC a CA nwm
jinak jsem si nasel http://wiki.beyondunreal.com/Legacy:ASE_File_Format |
|
Návrat nahoru |
|
 |
VladR
Založen: 30. 07. 2007 Příspěvky: 1322 Bydliště: Greater New York City Area
|
Zaslal: 21. květen 2009, 09:41:51 Předmět: |
|
|
No vidis ! Na AB BC AC sa vykasli tiez, to su edge visibility flags a to ti na 99 % nikdy nebude treba.
Teraz uz len sprav z tych dat mesh (cize vertex a index buffer) a ako dalsi krok pridaj normaly, objekt si zrotuj a nakoniec pridaj textury a mas to.
Mne to prvykrat zabralo necely vikend a uz 10 rokov ten isty parser pouzivam s obcasnymi zmenami.
Daj si pozor na to, ako ma definovane osi XYZ Maxko a ako ich ma OpenGL/DirectX - teda mozes potrebovat prehodit niektore osi - ale najprv si to nakresli a porozmyslaj nad tym. |
|
Návrat nahoru |
|
 |
Ladis

Založen: 18. 09. 2007 Příspěvky: 1537 Bydliště: u Prahy
|
Zaslal: 21. květen 2009, 10:01:07 Předmět: |
|
|
Mimochodem, v exportu do ASE si muzes vybrat, jake udaje ma exportovat, takze tam spoustu veci nepotrebujes a budes mit mensi ASE soubory na parsovani (ale na funkci to nema vliv, stejne musis ignorovat znacky, ktere te nezajimaji). Pred X lety do sve hry Becher Rescue jsem mel nejaky jednoduchy parser by hand snad do dne, jak rikam, vetsina udaju te nezajima.
Kdyz na to ted koukam, tak hned vidim, ze v MESH_VERTEX_LIST mas pozice XYZ vrcholu a jejich indexy. V MESH_FACE_LIST mas pak spojeni vrcholu do trojuhelniku (napr. trojuhelnik 0 je slozen vrcholy s indexy 0, 2 a 3). Pokud si pamatuju, tak stejnym zpusobem, jako jsou definovany trojuhelniky, jsou pak pole s informacemi o texturovych souradnicich pro vrcholy trojuhelniku (ne pro vrcholy samotne - jeden vrchol muze byt ve vice trojuhelnicich, a pro kazdy z nich muze mit jinou UV souradnici) a jeste normalny (opet pro vrcholy trojuhelniku a ne vrcholy samotne). No a vic nez pozice vrcholu, jejich spojeni do trojuhelniku a informace o texturovych souradnicich a normal pro zakladni 3D nepotrebujes. Snad se nepletu, uz se mi to trochu plete s LightWave (LWO).
EDIT: Koukam, ze tam nemas exportovane vsechny udaje, ktere by te mohli zajimat (treba zminovane texturove souradnice a normaly), takze si prekontroluj nastaveni exportu do ASE. _________________ Award-winning game developer |
|
Návrat nahoru |
|
 |
Quimby
Založen: 21. 04. 2009 Příspěvky: 51
|
Zaslal: 21. květen 2009, 10:26:17 Předmět: |
|
|
ja vim ze tam nejsou textury protoze ten kvadr zadne nema prave jak uz tu nekdo psal zacinam postupje a abych se v tom vyznal nevemu si ase soubor nejakeho auta se vsema detailama,texturama ja bych se zatim nevyznal jinak diky akorat nedokazu priradit rotaci a pozici objektu nejakemu prikazu v openGL
TM_POS -3.1137 -8.9624 0.0000 |
|
Návrat nahoru |
|
 |
michalferko
Založen: 29. 09. 2008 Příspěvky: 83
|
Zaslal: 21. květen 2009, 11:17:43 Předmět: |
|
|
TM znamena transformation matrix a pos je position, cize to bude glTranslatef. Odporucam stiahnut si nejaky fungujuci loader a hrabat sa v tom kode a tak si pozistovat, ktora cast robi co. |
|
Návrat nahoru |
|
 |
Vilem Otte

Založen: 18. 09. 2007 Příspěvky: 462 Bydliště: Znojmo - Sedlesovice, Kravi Hora
|
Zaslal: 21. květen 2009, 11:34:15 Předmět: |
|
|
Nejlepsi je to transformovat pres TM_ROW0 - TM_ROW3, coz je vlastne matice transformacni pro model - glMultMatrixf. _________________ Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration. |
|
Návrat nahoru |
|
 |
Quimby
Založen: 21. 04. 2009 Příspěvky: 51
|
Zaslal: 21. květen 2009, 11:35:08 Předmět: |
|
|
mno diky za radu ale vetsina loaderu je stylem ze je tam menu a dalsi vecicky coz je sice hezky pak je to rozkouskovany v 10souborech a pak kdo se ma vyznat co k cemu je ale taky sem o tom premejslel snad neco najdu |
|
Návrat nahoru |
|
 |
VladR
Založen: 30. 07. 2007 Příspěvky: 1322 Bydliště: Greater New York City Area
|
Zaslal: 21. květen 2009, 11:47:36 Předmět: |
|
|
Tak sa urcite vela nenaucis, len ta to zmatie. Postupne si pridavaj featuru po feature, lebo takto za 3 dni to mozes mat cele aj s dlhym experimentovanim.
Ale ked chces naraz mat vsetko tak ani za 3 tyzdne to nemusi oddebugovat |
|
Návrat nahoru |
|
 |
Ladis

Založen: 18. 09. 2007 Příspěvky: 1537 Bydliště: u Prahy
|
Zaslal: 21. květen 2009, 12:53:36 Předmět: |
|
|
Quimby napsal: |
Akorat nedokazu priradit rotaci a pozici objektu nejakemu prikazu v openGL TM_POS -3.1137 -8.9624 0.0000 |
To ani nemusis, pokud je to aktivni objekt ve hre, tak je pravdepodobne, ze se pozice a rotace bude menit v zavislosti na vstupu hrace . _________________ Award-winning game developer |
|
Návrat nahoru |
|
 |
|