User talk:Geyser: Difference between revisions

m
m (→‎Adding files to DAT: vertex normals etc)
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 TXCA and the second VCRA refer to those big faces, which can be quads or even more complex groups.
:::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)