List Controller

The List controller combines multiple controllers into a single effect. It is a compound controller with tools for managing how its component controllers are calculated. Controllers are evaluated in top-to-bottom order. In addition, you can specify a Weight setting for each controller in the list to determine its relative influence.

When you assign a List controller to a parameter, the current controller is moved one level below the List controller and becomes the first controller in the list. A second parameter, named Available, is added below the List controller. This is an empty placeholder for the next controller you add to the list.

By default, each listed controller's Weight setting is set to 100.0. This setting can be changed to increase or decrease the effect the controller has on an object.

When you assign a controller using the Animation menu, a list controller is automatically assigned as a default, with the chosen controller placed first in the list. This behavior differs from when you assign a controller in the Motion Panel or Track View, where only the specified controller is assigned.

You can animate List controller weights to achieve the equivalent of a non-linear animation system. Each list controller track can hold different values from frame to frame that you can turn on or off, or blend between by animating the weights.

Wired and Expression-based Animation

The List controller is particularly useful when employing parameter wiring or expressions to animate members of a hierarchy. If an object has only one controller, animating it (or the first controller in a list) via wiring or an expression always uses the parent object’s coordinate system, which, if the object has no parent, is the World coordinate system. However, most such situations call for animation in the object’s Local coordinate system. The latter requires wiring to (or using an Expression controller as) the second controller in a controller list.

Tip: You can use the Freeze Transform command to apply a List controller to multiple objects simultaneously, which is not possible with the standard Assign Controller feature. “Freezing” an object’s transform creates a two-controller list of which the second controller is the default for its transform, so it then becomes easy to wire to the second controller.

Procedures

Example: To use the List controller to combine two controllers:

  1. Create a box, and then turn on . (See Auto Key Animation Mode.)
  2. Create a simple animation containing three position keys.
  3. On the Motion panel Parameters Assign Controller rollout, click the position track to highlight it.
  4. Click (Assign Controller).
  5. Click Position List on the Assign Position Controller dialog. Click OK.
  6. Click the plus sign in the Position track to expand the track.

    A Position XYZ track and a track labeled Available are now visible.

  7. Click the track named Available and then click the Assign Controller button.
  8. Choose Noise Position in the Assign Controller dialog, and then click OK.

    The Noise Controller dialog opens.

  9. Play the animation.

    The box follows the original animated path while vibrating randomly.

    Experiment with different Weight settings for each controller and see the results.

Interface

Motion panel > Parameters > List rollout

List Window

Displays all the controllers in a list, with evaluation order from top to bottom. The controller at the top of the list is evaluated first; lower controllers are layered onto the result of higher controllers.

Set Active

Determines which controller is affected by interactive changes in the viewport. The current active controller is marked with an arrow in the list.

For example, you have an object using a Position List, with Noise Position and Bezier Position in the list. The Bezier Position controller handles the general motion path of the object, while the Noise Position controller adds a random shake to the motion.

  • If Bezier Position is the active controller, you can freely move the object in the scene.
  • If Noise Position is the active controller, you cannot move the object because Noise is not an interactive controller.
Delete

Deletes the selected controller.

Cut

Removes the selected controller and stores it in a temporary clipboard. The clipboard contents are only held until you paste the controller, close the List Controller dialog, or exit the Motion panel.

Paste

Puts the contents of the controller clipboard in the position above the selected controller. The clipboard is empty after pasting.

Weight

Exaggerate or minimize the effects of a controller by increasing or decreasing its weight value. Default=100.0.

Average Weights

When on, the weight values of all the controllers in the list are averaged. Available only for the Position List and Scale List controllers. Default=off.

Pose to Pose

Enables blending among controllers in the list. Available only for the Rotation List controller. Default=off.

When off, the List controller weights each rotation individually and adds up the weighted rotations for the final effect. You animate by stacking layers on top of layers, and then weighting in and out their effect. This is the default behavior.

When on, each pose is blended with the results from the previous controllers in the list. This method is not additive, but is instead true pose-to-pose blending. Adjusting the weight of a controller in the list will blend to and from that pose (controller in list). If the last weight is 100.0, then adjusting the weights of the previous poses in the list won't have any effect because the last pose has full effect. This is a stack-based approach that is best used for nonlinear animation (NLA) effects. You can paste motion clips or even single-frame poses onto new layers and use the weights to blend the poses together.

Editable Name Field

Select one of the controllers in the list window of the Controller list, and then enter a descriptive name in this field. This field lets you rename the controller so it's easier to identify.