# NIF File Format Documentation

NIF Objects | Compound Types | Enum Types | Basic Types | File Versions

## NiKeyframeData

Keyframes for mesh animation.

### Attributes

Name | Type | Arg | Arr1 | Arr2 | Cond | Description | From | To
--- | --- | --- | --- | --- | --- | --- | --- | ---
From NiObject
From NiKeyframeData
Num Rotation Keys | uint |  |  |  |  | The number of quaternion rotation keys. If the rotation type is XYZ (type 4) then this *must* be set to 1, and in this case the actual number of keys is stored in the XYZ Rotations field. |  |
Rotation Type | KeyType |  |  |  | numRotationKeys != 0 | The type of interpolation to use for rotation. Can also be 4 to indicate that separate X, Y, and Z values are used for the rotation instead of Quaternions. |  |
Quaternion Keys | QuatKey<Quaternion> | Rotation Type | Num Rotation Keys |  | rotationType != 4 | The rotation keys if Quaternion rotation is used. |  |
Unknown Float | float |  |  |  | rotationType == 4 | Possibly a vestigial time value? Doesn't appear to be significant. |  | 10.1.0.0
XYZ Rotations | KeyGroup<float> |  | 3 |  | rotationType == 4 | Individual arrays of keys for rotating X, Y, and Z individually. |  |
Translations | KeyGroup<Vector3> |  |  |  |  | Translation keys. |  |
Scales | KeyGroup<float> |  |  |  |  | Scale keys. |  |

### Parent Of

- NiTransformData