OBD:TRIA
|
|
| Offset | Type | Raw Hex | Value | Description |
|---|---|---|---|---|
| 0x00 | res_id | 01 63 04 00 | 1123 | 01123-.TRIA |
| 0x04 | lev_id | 01 00 00 06 | 3 | level 3 |
| 0x08 | pad[22] | AD DE | dead | padding |
| 0x1E | uint16 | 13 00 | 19 | array size |
| First bone (pelvis) offset (black outline) | ||||
| 0x00 | uint8 | 00 | 0 | parent bone ID (unused) |
| 0x01 | uint8 | 01 | 1 | child bone ID: left thigh |
| 0x02 | uint8 | 00 | 0 | sibling bone ID: none |
| 0x03 | uint8 | DE | dead | unused |
- Parent bone ID
- Oni doesn't seem to parse it; the direct links (child + sibling) are enough to define the bone hierarchy.
- Child bone ID
- There is no child for e.g. head, feet, fists. Multiple children are specified via the sibling link.
- Sibling bone ID
- "Left leg" links to "right leg", which links to "mid": they are all children of "pelvis". "Head" links to "left shoulder", which links to "right shoulder"; they are all children of "neck".
Bone overview
The names used by the community are given first, and the names used internally by the engine are given second where they differ.
| Hex | Dec | Bone |
|---|---|---|
| 00 | 00 | pelvis (or none) |
| 01 | 01 | left thigh |
| 02 | 02 | left calf (aka left shin) |
| 03 | 03 | left foot |
| 04 | 04 | right thigh |
| 05 | 05 | right calf (aka right shin) |
| 06 | 06 | right foot |
| 07 | 07 | mid (aka abdomen) |
| 08 | 08 | chest |
| 09 | 09 | neck |
| 0A | 10 | head |
| 0B | 11 | left shoulder |
| 0C | 12 | left arm (aka left upper arm) |
| 0D | 13 | left wrist (aka left forearm) |
| 0E | 14 | left fist (aka left fist) |
| 0F | 15 | right shoulder |
| 10 | 16 | right arm (aka right upper arm) |
| 11 | 17 | right wrist (aka right forearm) |
| 12 | 18 | right fist (aka right hand) |
- Note
- The "arm bone" is also sometimes referred to as "bicep" by the community (although the correct singular form is actually biceps, that's the name of the muscle).
Investigation
There are 2 different TRIA files in Oni. This one, used by most TRCMs:
| Bone | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | 0C | 0D | 0E | 0F | 10 | 11 | 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Parent | 00 | 00 | 01 | 02 | 00 | 04 | 05 | 00 | 07 | 08 | 09 | 09 | 0B | 0C | 0D | 09 | 0F | 10 | 10 |
| Child | 01 | 02 | 03 | 00 | 05 | 06 | 00 | 08 | 09 | 0A | 00 | 0C | 0D | 0E | 00 | 10 | 11 | 12 | 00 |
| Sibling | 00 | 04 | 00 | 00 | 07 | 00 | 00 | 00 | 00 | 00 | 0B | 0F | 00 | 00 | 00 | 00 | 00 | 00 | 00 |
and this other one, used by the extra-low-LOD ("force shield") TRCMs of male scientists:
| Bone | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | 0C | 0D | 0E | 0F | 10 | 11 | 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Parent | 00 | 00 | 01 | 02 | 00 | 04 | 05 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 |
| Child | 01 | 02 | 03 | 00 | 05 | 06 | 00 | 00 | 09 | 0A | 00 | 0C | 0D | 0E | 00 | 10 | 11 | 12 | 00 |
| Sibling | 00 | 04 | 00 | 00 | 07 | 00 | 00 | 00 | 00 | 00 | 0B | 0F | 00 | 00 | 00 | 00 | 00 | 00 | 00 |
The common one gives you a normal hierarchy:
0 + 1 - 2 - 3 - X
+ 4 - 5 - 6 - X
- 7 - 8 - 9 + 10 - X
+ 11 - 12 - 13 - 14 - X
- 15 - 16 - 17 - 18 - X
While the low-LOD-doctor one gives you a weird hierarchy:
0 + 1 - 2 - 3 - X
+ 4 - 5 - 6 - X
- 7 - X
8 - 9 + 10 - X
+ 11 - 12 - 13 - 14 - X
- 15 - 16 - 17 - 18 - X
(neglecting the fact that parent links are null for the upper part of the body)
It would look like chest is directly parented by the root bone, but then it's not a sibling of pelvis… so it's completely loose.
The associated TRTA is also weird. The only difference between the extra-low-LOD and the normal-LOD TRTA of male scientists is the offset of chest. In the normal-LOD TRTA, the offset is (1.4, 0, 0), whereas in the extra-low-LOD TRTA, it is (0, 0, 13.5). This again seems to indicate that chest is parented by the root bone if at all….
And indeed, if you specify e.g. Kerr's TRBS to use nothing but the extra-low-LOD TRCM (and its TRTA and TRIA, which is the whole point), you'll see weird stuff: Kerr's upper body floating around, control limited to Kerr's legs and the weapon, if any…. Conclusion: generally speaking, the TRTA and TRIA of low-LOD TRCMs are ignored. Any body in the TRBS uses the TRTA and TRIA of the extra-high-LOD TRCM (i.e. the TRCM linked to at 0x18 in the TRBS).
| ONI BINARY DATA |
|---|
| TRGE << Other file types >> TRIG |
| TRIA : Totoro Quaternion Body Index Array |
| Character file |

