Introduction

Open Edit → Blend Sets to edit the parametric blend sets stored in ANIMATION.PAK.

A blend set is what turns a continuous value into animation. "Aim at 30 degrees up and 10 to the left" isn't a clip the game ships — it's a mix of the four clips that surround that point. The blend set holds those clips, the grid of blend points they're arranged on, and which parameters drive the position within that grid.

Sets can be one, two or three dimensional depending on how many parameters steer them.

What Can Be Changed

A blend set has two halves, and only one of them is authored data.

The authored half is what you can edit here: which clips the set uses, how long each runs, whether it's mirrored, which clip each blend point plays, and how fast it plays. Everything in that half can be changed freely.

The other half is a lookup table the game reads at runtime, computed offline from where the blend points sit. That bake only ever refers to blend points by number, which is why the authored half can change without invalidating it.

Blend point positions are fixed. Moving a blend point, or adding one, would need that lookup rebuilt — which isn't offered. Positions are shown so you can see the shape of the blend, but they can't be edited. That's deliberate: it stops you producing a file that looks correct in the editor and plays wrong in game.

Interface Layout

The blend set list is on the left; everything about the selected set is on the right. The header line above it gives you the shape at a glance — how many dimensions, how many clips, how many blend points — and the line under it names the parameters that drive each axis.

Blend Set List

Sets are grouped the way their names are built: by animation set, then by the context inside it. Sets belonging to the animation set itself (rather than to one of its contexts) hang directly off it. Each animation set shows how many blend sets it holds.

The Search box matches the set's name and the names of the clips inside it, so you can find a blend by an animation you know is in it.

Clips

The clips the set draws from, numbered. Each row shows its index, the clip name, its length in seconds, whether it's mirrored, and how many blend points use it.

That last column is worth watching — a clip used by no blend point is doing nothing.

Blend Points

One row per blend point, showing its index, its position along each driving axis, which clip it plays, and at what speed.

Beside the list is a picture of the blend space with the points laid out on it. Click a point in the picture to select its row, and vice versa. For a 3D blend, the picture shows the first slice.

Used By

Which characters can actually reach this blend set. Each row names the character, the context it's offered in — or (the character itself) when it isn't tied to a context — and the name that character asks for it by.

Give to character… adds the set to another character or context; Take away removes the selected reference. Removing a reference doesn't delete the blend set, only that character's access to it.

Editing

With a clip row selected, you can change:

  • Clip — the animation played. Choose… opens the Animation Editor as a picker so you can find it by name, length and content rather than typing it.
  • Length s — the duration recorded for the clip.
  • Mirrored — play the clip mirrored left-to-right.

With a blend point row selected:

  • Plays — which of the set's clips this point uses, picked from the numbered list.
  • Speed — the playback rate at that point.

The blend set list isn't filtered when the window is used as a picker — the blend set a tree references generally doesn't belong to that tree's own animation set, so narrowing the list would hide most of the useful options.

Saving

Changes are held until you press Save, which becomes available once something has been edited. The status bar shows unsaved changes in the meantime, and closing the window with edits outstanding asks first.

Saving writes ANIMATION.PAK — it is separate from File → Save Level in the script editor, and applies to every level, since the archive is global.