5,391
edits
m (→Adding files to DAT: vertex normals etc) |
m (→Adding files to DAT: happy) |
||
Line 637: | Line 637: | ||
::Sometimes the hierarchy is crucial, i.e., you have to consider a file together with its children/parents. | ::Sometimes the hierarchy is crucial, i.e., you have to consider a file together with its children/parents. | ||
:I'm surprised your page doesn't include a listing of the TXCA. How can you be sure it's irrelevant? | :I'm surprised your page doesn't include a listing of the TXCA. How can you be sure it's irrelevant? (ah, OK, it's parallel to the PNTA...) | ||
::As for the first VCRA: they are vertex normals (basically, averages of the face normals for the adjacent faces). | ::As for the first VCRA: they are vertex normals (basically, averages of the face normals for the adjacent faces). Normalized. | ||
:::Oni (OpenGL) uses them for [http://en.wikipedia.org/wiki/Gouraud_shading Gouraud shading]. | :::Oni (OpenGL) uses them for [http://en.wikipedia.org/wiki/Gouraud_shading Gouraud shading]. | ||
:As I told you above, the first IDXA lists triangles not one by one but as strips. | :As I told you above, the first IDXA lists triangles not one by one but as strips. | ||
::The second IDXA then groups the triangles (sub-elements of the strips) into bigger faces. | ::The second IDXA then groups the triangles (sub-elements of the strips) into bigger faces. | ||
:::The | :::The second VCRA refer to those big faces, which can be quads or even more complex groups. | ||
:I'm not sure why so many entries are necessary for the PNTA and the first VCRA. To fix vertex lighting? | :I'm not sure why so many entries are necessary for the PNTA and the first VCRA. To fix vertex lighting? | ||
::Gouraud will only look nice for rather smooth objects, such as a head; err, for Konoko's head, actually, it's rather ugly | ::Gouraud will only look nice for rather smooth objects, such as a head; err, for Konoko's head, actually, it's rather ugly | ||
Line 659: | Line 659: | ||
:What do you think? | :What do you think? | ||
::[[User:Geyser|geyser]] 17:22, 26 January 2007 (CET) | ::[[User:Geyser|geyser]] 17:22, 26 January 2007 (CET) | ||
==M3GM and overlay anims== | |||
:Update. Last night I figured out both the M3GM&Co and the overlay anims. Happy ^^ | |||
:I'll be organizing that in the appropriate pages when I get some time. | |||
:This is just a "public notepad". | |||
::[[User:Geyser|geyser]] 00:33, 28 January 2007 (CET) | |||
===M3GM=== | |||
:Most of the stuff is as ssg says [http://www6.fh-eberswalde.de/user/dkriesch/oni/werte.htm HERE]. | |||
:*PNTA, TXCA, first VCRA: vertex map (XYZ, UV, vertex normals). Vertex normals used for Gouraud shading. | |||
:*Second VCRA: face normals, for flat shading (not sure the engine ever switches from Gouraud to flat) and specular effects. | |||
:*First IDXA: polygon strips. Vertices are listed this way: | |||
0-2-4-6-...-2n | |||
\|\|\...\| | |||
1-3-5-...-2n-1 | |||
::the positively oriented face are (0,1,2), (1,3,2), (2,3,4), (3,5,4) etc | |||
::AFAIK, strips always have an odd number of triangles (and vertices). | |||
::Strips refer to vertex IDs (those in the PNTA/TXCA/VCRA1). The first vertex of a strip is flagged with a high bit. | |||
:*Second IDXA: normal groups. The triangles (listed in the order in which they appear in strips) are assigned to a face normal (VCRA2). | |||
::[[User:Geyser|geyser]] 00:33, 28 January 2007 (CET) | |||
===Overlay TRAM=== | |||
:Overlay anims use quaternions rather than quantized Euler angles to define rotations. | |||
::That's because an aiming overlay uses a lot of interpolation (and quaternions are better at it). | |||
:They all behave the same way except the '''*_arc.TRAM'''. Those are coupled to the TRAS. | |||
::For an '''*_arc.TRAM''', the frames don't correspond to different moments in time, but to sectors of the aiming screen. | |||
:Basically, such a TRAM holds, e.g., nine positions: | |||
:*aiming high and to the right | |||
:*aiming high | |||
:*aiming high and to the left | |||
:*aiming to the right | |||
:*aiming straight ahead | |||
:*aiming to the left | |||
:*aiming low and to the right | |||
:*aiming low | |||
:*aiming low and to the left | |||
:The TRAC specifies what maximum deviation of the aiming vector the extreme frames correspond to. | |||
::A generic aiming direction in interpolated using that grid. | |||
:There are 15 keyframes for RIF aiming screens (an extra column of 3 on the left and on the right) | |||
:There are 6 keyframes for the prone PIS aiming screen (no bottom row, i.e., you can't aim down) | |||
:The "used parts" and "replace parts" are bitsets that define for which bones the quaternions will indeed be read. | |||
:For the aiming screen TRAMs, there are no "replace parts", and the "used parts" vary a lot: | |||
:*For STRIKEstand_fire_arc.TRAM, only the head turns around, so the used part bitset is 0x00040000 | |||
:*For KONCOMstand_fire_arc.TRAM, almost every bone is affected by the aiming direction | |||
:For the other overlay TRAMs, the "used parts" are 0x00010000 (chest), and the "replace parts" vary. | |||
::[[User:Geyser|geyser]] 00:33, 28 January 2007 (CET) |