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.
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.
Example: To use the List controller to combine two controllers:
A Position XYZ track and a track labeled Available are now visible.
The Noise Controller dialog opens.
Experiment with different Weight settings for each controller and see the results.
Exaggerate or minimize the effects of a controller by increasing or decreasing its weight value. Default = 100.0.
Determines which controller is affected by interactive changes in the viewport. The current active controller is marked with an arrow in the list.
Deletes the selected controller.
Removes the selected controller and stores it in a temporary clipboard. The clipboard contents are only held within the controller itself until you paste the controller.
Puts the contents of the clipboard in the position above the selected controller. The clipboard is empty after pasting.
When on, the weight values of all the controllers in the list are averaged. Available only for the Transform List, Position List, and Scale List controllers. Default=off.
Setting | Function |
---|---|
Index | Choose which sub controller to use. |
By Name | Choose sub controller index by name search. Matches incomplete names. Double click in table to rename. |
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.
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.
Use the List Dependency options to treat the list like a fan or a chain: is it order dependent, is an accurate parent transform needed?
Dependency | Behavior |
---|---|
Fan | Passes the parent transform to list entries then blends together using the weighting method. This setting is useful when entries are independent and order doesn't matter. |
Chain | Passes the previous result into the next as the parent transform, and then blends using the weighting method. This setting is useful when list is order dependent or when an accurate parent transform is needed, for example, with constraints |
Weight type | Behavior |
---|---|
Weight Independently | Weights list entries independently then combine. Rotation component weighting clamped between [-100%,100%].
Note: Avoid non-uniform scaling
|
Interpolate Previous | Interpolates the previous list entry with the current entry. Rotation is pose-to-pose interpolation like rotation_list (clamped [-100%,100%]). Scale weights the multiplied difference from previous.
Note: Avoid non-uniform scaling
|
Copy |
Assigns a copy of animation controller in the buffer to the right-clicked field. |
Instance |
Assigns an instance of the copied animation controller to the right-clicked field. |
Wire |
Opens a Parameter Wiring dialog with the copied parameter and the paste destination parameter selected. This is equivalent to creating a wire parameter in the viewport between two parameters. |
Opens a Track View - Curve Editor window, titled “Selected,” expanded and positioned to show the selected parameter. This is very useful for fast access to a particular curve or track.
Opens a Parameter Wiring Dialog with a focus on the selected parameter.