OBD:TRTA: Difference between revisions

From OniGalore
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 2: Line 2:




<CENTER>[[OBD:TRSC|<==]] <FONT SIZE=5>TRTA</FONT> [[OBD:TSFF|==>]]<BR>
<CENTER>[[OBD:TRSC|TRSC]] << [[OBD:File types|Other file types]] >> [[OBD:TSFF|TSFF]]
<FONT SIZE=3>Totoro Quaternion Body Translation Array</FONT><br>
<br><FONT SIZE=5>TRTA : Totoro Quaternion Body Translation Array</FONT>
<FONT SIZE=2>[[OBD:Filr types/Character|Character file]]</FONT></CENTER>
<BR><FONT SIZE=2>[[OBD:File types/Character|Character file]]</FONT></CENTER>




Line 30: Line 30:
| BGCOLOR="#00FFFF" | 13 00
| BGCOLOR="#00FFFF" | 13 00
| 19
| 19
| ALIGN=LEFT | 19 packages follow (one package is edged in black)
| ALIGN=LEFT | 19 bone offsets in array (first bone offset is outlined in black)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#000000"
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#000000"
| COLSPAN=3 | <FONT SIZE=2 COLOR="#FFFFFF">Below follows the first package.</FONT>
| COLSPAN=3 | <FONT SIZE=2 COLOR="#FFFFFF">Structure of a bone offset (example : pelvis)</FONT>
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC8C8" | 00 00 00 00
| BGCOLOR="#FFC8C8" | 00 00 00 00
| 0
| 0
| ALIGN=LEFT | x-position of the bodypart in connection to the [[OBD:TRIA|TRIA]] file
| ALIGN=LEFT | x-offset of bone (pelvis) with respect to parent
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFFFC8" | 00 00 00 00
| BGCOLOR="#FFFFC8" | 00 00 00 00
| 0
| 0
| ALIGN=LEFT | y-position (height) of the bodypart in connection to the [[OBD:TRIA|TRIA]] file
| ALIGN=LEFT | y-offset of bone (pelvis) with respect to parent
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFC8" | 00 00 00 00
| BGCOLOR="#C8FFC8" | 00 00 00 00
| 0
| 0
| ALIGN=LEFT | z-position of the bodypart in connection to the [[OBD:TRIA|TRIA]] file
| ALIGN=LEFT | z-offset of bone (pelvis) with respect to parent
|}
|}
 
;Skeleton
 
:The hierarchy of the bones (parents, children, siblings) is defined in the [[OBD:TRIA|TRIA]] file (linked to from the same [[OBD:TRCM|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 TRIA 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.
;Pelvis
:Pelvis is further translated with respect to the root bone by the [[OBD:TRAM/raw0x0C|height track]] of [[OBD:TRAM|TRAM]]
:The root bone is translated by TRAM as well as by the physics engine (jumps, blasts).
:''Maybe'' [[OBD:TRAM/raw0x34#Compression_size_16|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.
<HR>
<HR>
<CENTER>[[OBD:TRSC|<==]] <B>TRTA File</B> [[OBD:TSFF|==>]]</CENTER>
<CENTER>[[OBD:TRSC|TRSC]] << '''TRTA''' >> [[OBD:TSFF|TSFF]]</CENTER>
<HR>
<HR>




[[Main Page]] >> [[OBD:Oni Binary Data|Oni Binary Data]] >> [[OBD:File types|File Types]] >> TRTA File
[[Main Page]] >> [[OBD:Oni Binary Data|Oni Binary Data]] >> [[OBD:File types|File types]] >> TRTA

Revision as of 00:33, 17 May 2006

Main Page >> Oni Binary Data >> File types >> TRTA


TRSC << Other file types >> TSFF


TRTA : Totoro Quaternion Body Translation Array


Character file


trta_a.gif


Hex Translation Meaning
01 62 04 00 1122 01122-.TRTA
01 00 00 06 3 level 3
AD DE dead not used
13 00 19 19 bone offsets in array (first bone offset is outlined in black)
Structure of a bone offset (example : pelvis)
00 00 00 00 0 x-offset of bone (pelvis) with respect to parent
00 00 00 00 0 y-offset of bone (pelvis) with respect to parent
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 TRIA 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.
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.

TRSC << TRTA >> TSFF


Main Page >> Oni Binary Data >> File types >> TRTA