Difference between revisions of "Motion (.MOT) File Format"
Jump to navigation
Jump to search
m |
m |
||
| Line 74: | Line 74: | ||
|- | |- | ||
| 24 || Quantized Curve || Scale Z | | 24 || Quantized Curve || Scale Z | ||
|- | |||
| 50 || Semi-Precision Curve || Position X | |||
|- | |||
| 51 || Semi-Precision Curve || Position Y | |||
|- | |||
| 52 || Semi-Precision Curve || Position Z | |||
|- | |||
| 53 || Semi-Precision Curve || Rotation X | |||
|- | |||
| 54 || Semi-Precision Curve || Rotation Y | |||
|- | |||
| 55 || Semi-Precision Curve || Rotation Z | |||
|- | |||
| 56 || Semi-Precision Curve || Scale X | |||
|- | |||
| 57 || Semi-Precision Curve || Scale Y | |||
|- | |||
| 58 || Semi-Precision Curve || Scale Z | |||
|- | |||
| 80 || Full-Precision Curve || Position X | |||
|- | |||
| 81 || Full-Precision Curve || Position Y | |||
|- | |||
| 82 || Full-Precision Curve || Position Z | |||
|- | |||
| 83 || Full-Precision Curve || Rotation X | |||
|- | |||
| 84 || Full-Precision Curve || Rotation Y | |||
|- | |||
| 85 || Full-Precision Curve || Rotation Z | |||
|- | |||
| 86 || Full-Precision Curve || Scale X | |||
|- | |||
| 87 || Full-Precision Curve || Scale Y | |||
|- | |||
| 88 || Full-Precision Curve || Scale Z | |||
|} | |} | ||
Revision as of 17:46, 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 |
| 50 | Semi-Precision Curve | Position X |
| 51 | Semi-Precision Curve | Position Y |
| 52 | Semi-Precision Curve | Position Z |
| 53 | Semi-Precision Curve | Rotation X |
| 54 | Semi-Precision Curve | Rotation Y |
| 55 | Semi-Precision Curve | Rotation Z |
| 56 | Semi-Precision Curve | Scale X |
| 57 | Semi-Precision Curve | Scale Y |
| 58 | Semi-Precision Curve | Scale Z |
| 80 | Full-Precision Curve | Position X |
| 81 | Full-Precision Curve | Position Y |
| 82 | Full-Precision Curve | Position Z |
| 83 | Full-Precision Curve | Rotation X |
| 84 | Full-Precision Curve | Rotation Y |
| 85 | Full-Precision Curve | Rotation Z |
| 86 | Full-Precision Curve | Scale X |
| 87 | Full-Precision Curve | Scale Y |
| 88 | Full-Precision Curve | Scale Z |