Motion (.MOT) File Format

From Ōkami Speedrun Wiki
Revision as of 17:44, 7 September 2025 by Akito (talk | contribs)
Jump to navigation Jump to search

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