Nested Object Controller Functions

Certain time and keyframe functions on controllers can be called on any 3ds Max object or collection of 3ds Max objects. If called in this way, they apply recursively to all the nested controllers within that object and on any on sub-objects and sub-controllers within those objects. In this way, they work in a manner similar to the object-level tracks in the 3ds Max Track View that allow you to manipulate keys and time for all the sub-objects and sub-controllers within them.

The time and controller functions that work this way are:

deleteTime

reverseTime

scaleTime

insertTime

setTimeRange

addNewKey

deleteKeys

selectKeys

deselectKeys

moveKeys

mapKeys

sortKeys

reduceKeys

addEaseCurve

deleteEaseCurve

setBeforeORT

setAfterORT

enableORTs

The above functions can be called on any 3ds Max object collection (such as a wild-card pathname or object set or array of objects ) and will recursively apply to all animation within those objects. For more information see Time and Key Functions on Object Hierarchies and Controller Time Functions.

Examples:

insertTime $box01.xform 0f 10f

-- all keys after 0f in all controllers in the XForm modifier are moved by 10f

insertTime $box01 0f 10f

-- all keys after 0f in box01 are moved (transform, creation, modifiers)

selectKeys $box02.xform.gizmo.rotation.controller 0f 100f

-- selects keys in 0-100f. If controller is Euler, will select x, y and z keys

deleteTime $box* 10f 20f

-- delete time from frame 10 to frame 20 in all keys in all objects named $box* (works with—any pathname or array of objects)

insertTime $box03.children 0f 10f

-- inserts time in all controllers of all children of $box03

reduceKeys $box01.modifiers

-- applies key reductions to all controllers in all modifiers in $box01 (leaves—transform and creation parameters alone)