OBD:TRTA
|
|
| 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 | pad[22] | AD DE... | padding | |
| 0x1E | uint16 | 13 00 | 19 | array size |
| First bone (pelvis) offset (black outline) | ||||
| 0x00 | float | 00 00 00 00 | 0 | x offset of bone with respect to parent |
| 0x04 | float | 00 00 00 00 | 0 | y offset of bone with respect to parent |
| 0x08 | float | 00 00 00 00 | 0 | z offset of bone with respect to parent |
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 ^
The XYZ offsets in the TRTA are offsets (aka "translations") of a bone relative to its parent in that system of coordinates. Thus they specify the relative positions of the joints. The different TRTAs occurring in Oni are detailed HERE.
- You may notice that the X and Y offset for thighs and shoulders is very small (it's the left/right i.e. Z offset that matters there). For all the other bones, the offset is essentially along X (i.e. along the main axis of the bone meshes), and the Y and Z offsets are very small. So the X/Y offsets of shoulders and thighs can basically be set to zero, as well as the 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.
The pelvis is further translated with respect to the root bone by the height track of TRAM so that, for instance, a move where the character crouches does not simply lift their legs off the floor; the pelvis must lower at the same rate that their legs raise so that their feet appear rooted to the ground. The root bone itself is also translated by TRAM, as well as by the physics engine in the case of jumps and blasts.
As a reference, the body part order is:
- pelvis
- left thigh
- left shin
- left foot
- right thigh
- right shin
- right foot
- abdomen
- chest
- neck
- head
- left shoulder
- left upper arm
- left forearm
- left hand
- right shoulder
- right upper arm
- right forearm
- right hand
| ONI BINARY DATA |
|---|
| TRSC << Other file types >> TSFF |
| TRTA : Totoro Quaternion Body Translation Array |
| Character file |

