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
Time and Key Functions on Object Hierarchies
Controller Out-Of-Range Functions
Controller Ease and Multiplier Curve Functions
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"
PointControllerContainer (const MAXSuperClass): PointControllerContainer
DriverBlockController (const MAXSuperClass): DriverBlockController
MorphController (const MAXSuperClass): MorphController
Matrix3Controller (const MAXSuperClass): Matrix3Controller
Point2Controller (const MAXSuperClass): Point2Controller
floatController (const MAXSuperClass): floatController
point3Controller (const MAXSuperClass): point3Controller
point4Controller (const MAXSuperClass): point4Controller
positionController (const MAXSuperClass): positionController
rotationController (const MAXSuperClass): rotationController
scaleController (const MAXSuperClass): scaleController
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.