Legacy Reference

Mannequin Animation Actions

An action is a programmatic construct that used to control animations and synchronize them with the game, combining game code with simple high-level animation control.

When an action is installed, it "owns" one or more scopes and can request FragmentIDs to play on those scopes. Each scope can be controlled by only a single action. Many actions can be running in parallel as long as they all control different scopes.

Although each action can only request one FragmentID at a time, it can nonetheless sequence multiple such requests in a row. If you want to implement an animation state machine, either you queue multiple actions that each push a single FragmentID and you handle the state machine externally, or you queue a single action that has an internal state machine that requests the appropriate FragmentIDs. The latter is typically how Lumberyard handles basic locomotion state machines.

The Mannequin ActionController (IActionController) is the root object that controls a character mannequin. You configure it in a controller definition (*ControllerDefs.xml) file, which defines the FragmentIDs, scopes, and scope contexts. It also installs actions onto scopes and holds the global tag state.