Controllers

All animation in 3ds Max is managed by a plug-in type called an animation controller (or controller for short). A controller manages the animation by returning a specific value given a specific time value.

Controllers are either keyframe based or procedure.

There are six basic controller types. Each one controls a specific data type:

Plug-in developers can create new controller types, or work with the properties of existing types.

A controller returns a specific value when given a time in the animation. In the following table controllers are categorized according to the type of value they produce, and correspondingly their SuperClass ID:

Type of Value SuperClassID of associated controller
float CTRL_FLOAT_CLASS_ID
Point3 (including color) CTRL_POINT3_CLASS_ID
position CTRL_POSITION_CLASS_ID
rotation CTRL_ROTATION_CLASS_ID
scale CTRL_SCALE_CLASS_ID
transform CTRL_MATRIX3_CLASS_ID
morph CTRL_MORPH_CLASS_ID
(user-defined) CTRL_USERTYPE_CLASS_ID
master (master point) CTRL_MASTERPOINT_CLASS_ID
masterblock MASTERBLOCK_SUPER_CLASS_ID