OBD talk:TRAM/raw0x34
Jump to navigation
Jump to search
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.
- geyser 00:33, 28 January 2007 (CET)
Quaternions
- HERE is a rather tedious page on quaternions and rotations. Just scroll down past the blabla ^^
Quaternion
- A quaternion is something like this:
- i x + j y + k z + w
- where i, j and k are 3 imaginary numbers defined by:
- i²=j²=k²=ijk=-1
- The pairwise multiplication rules can be inferred from the above.
- ij=k, ji=-k, ...
- Note that multiplication is not commutative.
Rotations
- A unit quaternion is such that x²+y²+z²+w²=1
- A unit quaternion corresponds to a rotation about the axis (x,y,z) with angle (2 arccos w)
More
- Later