OBD:TRTA: Difference between revisions
Jump to navigation
Jump to search
m (it is now known that the overlay TRAMs have rotations stored as quaternions, not matrices or other storage that may accommodate translations) |
m (link fix) |
||
Line 31: | Line 31: | ||
:The XYZ-offsets in the TRTA are offsets (aka "translations") of a ''bone'' relative to its ''parent'' in that system of coordinates (see above). | :The XYZ-offsets in the TRTA are offsets (aka "translations") of a ''bone'' relative to its ''parent'' in that system of coordinates (see above). | ||
:Thus they effectively specify the relative positions of the joints. | :Thus they effectively specify the relative positions of the joints. | ||
:The different TRTA occurring in Oni are detailed [[OBD_talk:TRTA | :The different TRTA occurring in Oni are detailed [[OBD_talk:TRTA|HERE]]. | ||
;Pelvis | ;Pelvis | ||
:Pelvis is further translated with respect to the root bone by the [[OBD:TRAM/raw0x0C|height track]] of [[OBD:TRAM|TRAM]] | :Pelvis is further translated with respect to the root bone by the [[OBD:TRAM/raw0x0C|height track]] of [[OBD:TRAM|TRAM]] |
Latest revision as of 13:20, 5 April 2021
|
Offset | Type | Raw Hex | Value | Description |
---|---|---|---|---|
0x00 | res_id | 01 62 04 00 | 1122 | 01122-.TRTA |
0x04 | lev_id | 01 00 00 06 | 3 | level 3 |
0x08 | char[22] | AD DE... | dead | unused |
0x1E | int16 | 13 00 | 19 | array size |
First bone offset (black outline) | ||||
0x00 | float | 00 00 00 00 | 0 | x-offset of bone (pelvis) with respect to parent |
0x04 | float | 00 00 00 00 | 0 | y-offset of bone (pelvis) with respect to parent |
0x08 | float | 00 00 00 00 | 0 | z-offset of bone (pelvis) with respect to parent |
- Skeleton
- The hierarchy of the bones (parents, children, siblings) is defined in the TRIA file (linked to from the same TRCM file as the TRTA).
- If the (0°, 0°, 0°) orientation is set for every bone, then all the bones point along the X axis of the character (from right to left) and face upwards.
- Viewed from above, you get something like this : "o" is a pivot (yes, the shoulders are attached to the neck), and ":)" is a smiley :)
14-o-13-o-12-o-11-o 3-o-2-o-1-o ^ z | | ^ :)10-o-9-o-8-o-7-o-0 < < <^< < < | | x ^ 18-o-17-o-16-o-15-o 6-o-5-o-4-o ^
- XYZ offsets
- The XYZ-offsets in the TRTA are offsets (aka "translations") of a bone relative to its parent in that system of coordinates (see above).
- Thus they effectively specify the relative positions of the joints.
- The different TRTA occurring in Oni are detailed HERE.
- Pelvis
- Pelvis is further translated with respect to the root bone by the height track of TRAM
- The root bone is translated by TRAM as well as by the physics engine (jumps, blasts).
- Relevant offsets
- You may notice that X and Y offset for thighs and shoulders is very small (it's the left/right i.e. Z that matters there).
- For all the other bones, the offset is essentially along X (i.e. along the main axis of the bone meshes). Y and Z offsets are very small.
- So X/Y offsets of shoulders and thighs can basically be set to zero, as well as Y/Z offsets of all the other bones.
- A skeleton is primarily defined by the Z offsets of shoulders and thighs (broad/narrow shoulders and hips), and by the X offset (effectively, the length) of all the other bones.
ONI BINARY DATA |
---|
TRSC << Other file types >> TSFF |
TRTA : Totoro Quaternion Body Translation Array |
Character file |