MAXScript Language Reference > 3ds Max Objects > Animation Controllers >

# Animation Controllers

Value > MAXWrapper > Animation Controllers

| Animation Controllers - Quick Navigation

All animation in 3ds Max is implemented using one of the many controller classes accessible in the Track View and Motion Panel, or assigned automatically by 3ds Max when you use the Animate button to do keyframing. Certain controllers (keyframeable controllers) store their animation values as keys.

This section includes topics that discuss all aspects of scripting 3ds Max controllers and the Key classes used in keyframing.

Controller Common Properties, Operators, and Methods

Controller Time Functions

Controller Key Functions

Time and Key Functions on Object Hierarchies

Controller Out-Of-Range Functions

Controller Ease and Multiplier Curve Functions

Controller Key Reducer

Controllers - Superclass Level

The controllers are arranged in a hierarchy of superclasses and classes. All classes in a superclass output a specific data type (for example, Float or Point3). Each animatable property in 3ds Max has a data type, and any of the classes in the superclass that outputs that data type can be assigned that property. So, for example, the linear_float and noise_float controllers are classes in the Float superclass, and either can be assigned to the height property of a box, which has a Float data type.

The list of controller superclasses can be determined using the apropos() function:

    apropos "controller:super"

EXAMPLE:
    apropos"controller:super"
    MasterPointController (const MAXSuperClass): MasterPointController
    MasterBlockController (const MAXSuperClass): MasterBlockController
    MorphController (const MAXSuperClass): MorphController
    Matrix3Controller (const MAXSuperClass): Matrix3Controller
    ScaleController (const MAXSuperClass): ScaleController
    RotationController (const MAXSuperClass): RotationController
    QuatController (const MAXSuperClass): QuatController
    PositionController (const MAXSuperClass): PositionController
    Point4Controller (const MAXSuperClass): Point4Controller
    Point3Controller (const MAXSuperClass): Point3Controller
    FloatController (const MAXSuperClass): FloatController
    OK

The list of available controllers can be determined using the showClass() function:

    showClass "*: *controller*"

which lists all the known classes that have "controller" in their superclass name.

The controllers include, at least, 3ds Max’s core controllers and any 3 rd -party plug-in controllers. In some cases, embedded controllers for some complex plug-ins may be visible in the showClass() listing (such as for Character Studio). You should not attempt to create and use these controllers individually, this may result in system exceptions.