Difference between revisions of "Motion (.MOT) File Format"
Jump to navigation
Jump to search
m |
m |
||
Line 27: | Line 27: | ||
| 0x00 || <code>int8_t</code> || 1 || Bone index (-1 means it animates the mode's root bone). | | 0x00 || <code>int8_t</code> || 1 || Bone index (-1 means it animates the mode's root bone). | ||
|- | |- | ||
| 0x01 || <code>int8_t</code> || 1 || Curve | | 0x01 || <code>int8_t</code> || 1 || Curve properties (See below). | ||
|- | |- | ||
| 0x02 || <code>uint16_t</code> || 2 || Curve keyframe count. | | 0x02 || <code>uint16_t</code> || 2 || Curve keyframe count. | ||
|} | |||
The curve property will define what property of the bone/object it is animating. There's some properties who could not be determined yet. See some already identified values bellow. | |||
== Curve Properties (Already identified) == | |||
{| class="wikitable" | |||
! Value !! Property Family !! Property | |||
|- | |||
| 0 || Single Pose || Position X | |||
|- | |||
| 1 || Single Pose || Position Y | |||
|- | |||
| 2 || Single Pose || Position Z | |||
|- | |||
| 3 || Single Pose || Rotation X | |||
|- | |||
| 4 || Single Pose || Rotation Y | |||
|- | |||
| 5 || Single Pose || Rotation Z | |||
|- | |||
| 6 || Single Pose || Scale X | |||
|- | |||
| 7 || Single Pose || Scale Y | |||
|- | |||
| 8 || Single Pose || Scale Z | |||
|- | |||
| 16 || Quantized Curve || Position X | |||
|- | |||
| 17 || Quantized Curve || Position Y | |||
|- | |||
| 18 || Quantized Curve || Position Z | |||
|- | |||
| 19 || Quantized Curve || Rotation X | |||
|- | |||
| 20 || Quantized Curve || Rotation Y | |||
|- | |||
| 21 || Quantized Curve || Rotation Z | |||
|- | |||
| 22 || Quantized Curve || Scale X | |||
|- | |||
| 23 || Quantized Curve || Scale Y | |||
|- | |||
| 24 || Quantized Curve || Scale Z | |||
|} | |} |
Revision as of 17:44, 7 September 2025
Note: This page pertains to Reverse Engineering of Okami File Formats.
Explanation
This file incorporates curves and/or properties for an given embbed model. Because of that, it's almost always certain that they are contained in a file container (dat). There's instances of mots that controlled properties instead of bones, so it's not always certain of what it animates. A further inspection have to be done.
Mot main header
Offset | Type | Size | Description |
---|---|---|---|
0x00 | uint32_t |
4 | File identifier (Magic number). |
0x04 | uint16_t |
2 | Animation's frame count. |
0x06 | uint8_t |
1 | Animation's property count. |
0x07 | uint8_t |
1 | Loop flag, sets if the animation either loops or not (1/0). |
on Offset 8, The File gives informations about the curves, i.e: what bone it animates, etc.
Curve Info
Offset | Type | Size | Description |
---|---|---|---|
0x00 | int8_t |
1 | Bone index (-1 means it animates the mode's root bone). |
0x01 | int8_t |
1 | Curve properties (See below). |
0x02 | uint16_t |
2 | Curve keyframe count. |
The curve property will define what property of the bone/object it is animating. There's some properties who could not be determined yet. See some already identified values bellow.
Curve Properties (Already identified)
Value | Property Family | Property |
---|---|---|
0 | Single Pose | Position X |
1 | Single Pose | Position Y |
2 | Single Pose | Position Z |
3 | Single Pose | Rotation X |
4 | Single Pose | Rotation Y |
5 | Single Pose | Rotation Z |
6 | Single Pose | Scale X |
7 | Single Pose | Scale Y |
8 | Single Pose | Scale Z |
16 | Quantized Curve | Position X |
17 | Quantized Curve | Position Y |
18 | Quantized Curve | Position Z |
19 | Quantized Curve | Rotation X |
20 | Quantized Curve | Rotation Y |
21 | Quantized Curve | Rotation Z |
22 | Quantized Curve | Scale X |
23 | Quantized Curve | Scale Y |
24 | Quantized Curve | Scale Z |