Controllers, like Animation Constraints, handle the animation tasks in a scene. They store animation key values and procedural animation settings, and they interpolate between animation key values.
An object or parameter doesn't receive a controller until you animate it. As soon as you change an animatable parameter with Auto Key on or insert a key, 3ds Max assigns a controller to the parameter. 3ds Max chooses a default type for the controller, depending on the animation. You can change the default controller to another type.
The animation controllers are organized in the following categories:
To change an assigned controller, use Assign Controller in Track View or on the Motion panel.
Use the Audio controller to drive the animation of almost any parameter in 3ds Max. The Audio controller converts the amplitude of a recorded sound file or real-time sound wave into values that can animate an object or parameter.
The Barycentric Morph controller is automatically applied when you create a morph objectMorph compound object. Morph targets are selected and keys are created at different times to change the original object's shape to those of the morph targets.
The Bezier controller is the most versatile controller available in 3ds Max. Bezier controllers interpolate between keys using an adjustable spline curve. They are the default controller for most parameters.
A Block controller is a global List controller that allows you to combine several tracks from multiple objects over a range of time, and group them as "Blocks." These Blocks are then used to re-create the animation anywhere in time. Blocks can be added, removed, scaled, moved graphically in Track View, and saved. Blocks can represent either absolute or relative animation.
The Boolean controller is similar to the On/Off controller. By default, it is assigned to tracks (such as an object's Visibility track) that provide only binary on and off control.
The Color RGB controller splits the R, G, and B components into three separate tracks. You can use this controller with color tracks. By default, each track is assigned a Bezier Float controller. The Bezier Float controller is a single parameter controller.
The Euler XYZ Rotation controller is a compound controller that combines separate, single-value float controllers to specify an angle of rotation about each of the X, Y, and Z axes. Euler XYZ is not as smooth as quaternion rotation (used by the TCB Rotation controller), but it is the only rotation type that you can use to edit rotation function curves.
The Expression controller lets you use mathematical expressions to control these animation aspects: object parameters such as length, width, and height; and transform and modifier values such as an object's position coordinates.
The Layer Controller dialog provides commands and options related to the Layer controllers in your scene, which the system automatically assigns for you when you enable animation layers on an object.
The Limit controller lets you specify upper and lower limits to available controller values, thus restricting the potential value range of the controlled track. For example, in a character rig you could use this to restrict rotation on finger joints so the fingers can't bend backward. Basically, once a track is limited, and the limit is active, you can't set a value for the track beyond the limit.
The Linear controller interpolates between animation keys by evenly dividing the change from one key value to the next by the amount of time between the keys.
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.
This controller is no longer available. You can, however, still edit objects that were assigned this controller in previous versions.
The Look At controller is automatically assigned as a transform animation controller upon creation of objects that contain targets, including Target Camera, targeted lights (including IES Sun/Sky) and the Tape helper. It cannot be assigned by the user. To assign the equivalent of a Look At controller to an object, use a LookAt constraint.
The Master Point controller controls point sub-objects within editable splines, editable surfaces, and FFD (free-form deformation) modifiers.
You can control an object's position, rotation, or other parameters using an external device with the Motion Capture controller.
The Noise controller produces random, fractal-based animation over a range of frames. Noise controllers are parametric: they work on a range of frames, but do not use keys.
The On/Off controller provides binary on and off control. It is similar to the Boolean Controller. For example, you can apply an On/Off controller to the Visibility track of an object.
The Position XYZ controller splits the X, Y, and Z components into three separate tracks (similarly to the Euler XYZ Rotation controller). This provides separate control of the three tracks when referenced from Expression controllers.
The Position/Rotation/Scale (PRS) controller is the default Transform controller for most objects. Use it for all general-purpose transforms.
The Reaction controller is a procedural controller that lets a parameter react to changes in any other parameter in 3ds Max. Typically, most of the setup involving Reaction controllers is done with the Reaction Manager dialog. You use the dialog to define a master, which is an object that controls other objects, and, for each master, any number of slaves, which are objects the master controls. Alternatively, you can assign a Reaction controller directly to a slave object using Track View or the Motion panel (as you would any other controller), and then use Reaction Manager to specify its master and other parameters.
The Scale XYZ controller has independent float controllers for each scale axis of an object's transform. With three separate tracks for scale, you can create scale keys for each axis independently, change interpolation settings for a single axis, or assign a controller on an axis. For example, after applying a Scale XYZ controller, you could apply a Noise or Waveform controller to an axis to animate that axis independently.
The Script controllers work similarly to Expression controllers. They provide a Script Controller dialog where a you can enter a script for computing the controller value.
Use Smooth Rotation when you want rotation to have a smooth and natural look.
The Spring controller adds secondary dynamics effects to any point or object position. The end result is secondary mass/spring dynamics similar to the Flex modifier. This constraint adds realism to generally static animations.
TCB Controllers produce curve-based animation much like Bezier controllers. However, TCB controllers do not use tangent types or adjustable tangent handles. They use fields to adjust the Tension, Continuity, and Bias of the animation.
The Waveform controller is a float controller that provides regular, periodic waveforms. Created originally to control blinking lights, you can use it on any float value.
This controller lets you externally reference any type of Transform controller from another scene file. The XRef controller follows the same concepts and principles as the XRef objects and XRef material; it can improve upon the collaborative synergy within a production environment by letting you access animation data currently in another scene while someone else updates it.