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
|
0x0e |
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 (yeah, the shoulders are attached to the neck), and ":)" is a smiley :)
15-o-14-o-13-o-12-o 4-o-3-o-2-o ^ z
| | ^
:)11-o-10-o-9-o-8-o-1 < < <^< < <
| | x ^
19-o-18-o-17-o-16-o 7-o-6-o-5-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.
- Not sure how many different TRTA there are in Oni. Probably one for every major ONCC.
- 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).
- Maybe overlay TRAMs generate extra translations of the bones, too.
- 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.