Controllers can be created and applied to animatable properties. 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, MAX's core controllers:
superClass floatController
class linear_float
class bezier_float
class tcb_float
class float_list
superClass point3Controller
class bezier_point3
class tcb_point3
class point3_list
class bezier_color
superClass positionController
class linear_position
class bezier_position
class tcb_position
class position_list
class path
superClass rotationController
class linear_rotation
class bezier_rotation
class tcb_rotation
class rotation_list
superClass scaleController
class linear_scale
class bezier_scale
class tcb_scale
class scale_list
superClass matrix3Controller
class prs
class lookat
and any 3rd-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 and HyperMatter). You should not attempt to create and use these controllers individually, this may result in system exceptions.
You create controllers as you do other MAX objects by calling the class as a function:
c = bezier_position ()
and assign them to animatable properties by assigning to the controller property in those animatables:
$foo.pos.controller = c
$baz.bend.gizmo.rotation.controller = tcb_rotation ()
$box01.length = linear_float ()