5,389
edits
mNo edit summary |
mNo edit summary |
||
Line 2: | Line 2: | ||
<CENTER>[[OBD:TRSC|< | <CENTER>[[OBD:TRSC|TRSC]] << [[OBD:File types|Other file types]] >> [[OBD:TSFF|TSFF]] | ||
<FONT SIZE= | <br><FONT SIZE=5>TRTA : Totoro Quaternion Body Translation Array</FONT> | ||
<FONT SIZE=2>[[OBD: | <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 | | 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"> | | 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- | | 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- | | 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- | | 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| | <CENTER>[[OBD:TRSC|TRSC]] << '''TRTA''' >> [[OBD:TSFF|TSFF]]</CENTER> | ||
<HR> | <HR> | ||
[[Main Page]] >> [[OBD:Oni Binary Data|Oni Binary Data]] >> [[OBD:File types|File | [[Main Page]] >> [[OBD:Oni Binary Data|Oni Binary Data]] >> [[OBD:File types|File types]] >> TRTA |