File extension: .csmodelanim
| Offset |
Type |
Size (octets) |
Description |
| 0 |
UInt8 |
1 |
Asset type (always 6 for Model Animations) |
| 1 |
UInt16 |
2 |
Format version (currently 3) |
| 3 |
UInt16 |
2 |
Animation duration (in frames) |
| 5 |
Boolean |
1 |
Hold last key frame |
| 6 |
UInt16 |
2 |
Animated node count |
| 8 |
ModelNodeAnimation[] |
(variable) |
Array of model node animations (see below) |
Model node animation
| Offset |
Type |
Size (octets) |
Description |
| 0 |
C# String |
(variable) |
Model node name |
| ? |
UInt16 |
2 |
Position keyframe count |
| ? + 2 |
ModelNodeKeyFrame[] |
(variable) |
Array of position keyframes |
| ? + 2 + ? |
UInt16 |
2 |
Orientation keyframe count |
| ? + 2 + ? + 2 |
ModelNodeKeyFrame[] |
(variable) |
Array of orientation keyframes |
| ? + 2 + ? + 2 + ? |
UInt16 |
2 |
Block size keyframe count |
| ? + 2 + ? + 2 + ? + 2 |
ModelNodeKeyFrame[] |
(variable) |
Array of block size keyframes |
| ? + 2 + ? + 2 + ? + 2 + ? |
UInt16 |
2 |
Pivot offset keyframe count |
| ? + 2 + ? + 2 + ? + 2 + ? + 2 |
ModelNodeKeyFrame[] |
(variable) |
Array of pivot offset keyframes |
| ? + 2 + ? + 2 + ? + 2 + ? + 2 + ? |
UInt16 |
2 |
Scale keyframe count |
| ? + 2 + ? + 2 + ? + 2 + ? + 2 + ? + 2 |
ModelNodeKeyFrame[] |
(variable) |
Array of scale keyframes |
Model node key frame
| Offset |
Type |
Size (octets) |
Description |
| 0 |
UInt16 |
2 |
Key time index |
| 2 |
UInt8 |
1 |
Interpolation mode (currently ignored) |
| 3 |
(variable) |
(variable) |
Key frame value |
The key frame value type depends on the type of key frame:
| Key frame type |
Value type |
| Position |
Float32[3] (vector XYZ) |
| Orientation |
Float32[4] (quaternion WXYZ) |
| Block size |
Int32[3] (vector XYZ) |
| Pivot offset |
Float32[3] (vector XYZ) |
| Scale |
Float32[3] (vector XYZ) |