Time and Key Functions on Object Hierarchies

Certain of the controller time and key functions can be called on any 3ds Max object or collection of 3ds Max objects, not just individual controllers. If called in this way, they apply recursively to all the nested controllers within those objects 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

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. If they are called on components within an object that themselves have nested controllers, they are applied to all those nested controllers - see the examples below.

Note:

An exception to the above behavior is the setTimeRange function which will be applied recursively only when a #linkToKeys argument is provided. See setTimeRange for details.

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, e.g., will select x, y and z keys

deleteTime $box* 10f 20f

delete time from frame 10 and frame 20 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 0.5 1f

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