Skyrim Animations

Skyrim engine has different ways of authoring and play animations for different kind of objects. In this section I (Aerisarn) will introduce them and try to map them to general animation concepts; before proceeding, let's agree on some term:

  • Transform: a collection of the following informations:

    • a Translation in Euclidean space (X, Y, Z) cordinates.

    • a Rotation (either Euler or Quaternion)

    • a Scaling, (either a single value or a vector for different axis scaling)

  • Bone: a point in space defined by, and Scale with respect of a parent reference system (either another bone or the scene origin). t

  • Skeleton: a collection of bones and their parent-children relation. Each bone can have either 0 (Root Bone) or 1 parent.

  • Key: a pair composed by a time and either a number, a transform or a string/text value.

  • Track: a pair of a bone and a collection of keys

  • Sequence: a set of tracks, composing an animation

  • Weighted Vertex: a set of EXACTLY 4 bones and 4 [0-1.] real numbers that influence how much that vertices is transformed given a transform applied to the 4 bones of the set

  • Skeletal Mesh: A set of Triangles and their weighted vertices

  • Event: An information exchanged between the animation and the engine

  • Variable: A value exchanged between the animation and the engine

  • Interpolation: a mathematical function that, given a number of keys, allows to calculate a new track key at a given time. Skyrim Engine allows for constant, linear and quadratic interpolation.

There are two different (and unrelated) formats handled by the Skyrim Engine, NIF animations and HKX animations, called so by the two file formats in which those animations are saved. Roughly speaking, the two formats serve two different purposes:

  • NIF *mainly* is used for animated statics/clutter: Doors, Traps, everything which is not as complex as a creature, or that can be animated without skinning. Note however that NIF animations can be skinned as well.

  • HKX is used for complex engine interactions, namely creatures

From now on we're going to proceed by examples of stuff to author. This won't be as complete as describing the two formats complete possibilities but will give you head start on how to actually do stuff.