addEaseCurve <controller> [ <float_controller> ]
Adds an ease curve to the specified controller.
You can provide an optional float controller for the curve or have the function generate a default float controller for you.
When you add an ease curve in Track View, keys are automatically created at the beginning and end of the current animation range. The addEaseCurve()
method does not generate these keys, so you need to add them to the ease curve controller.
An instance of the procedural Retimer Controller introduced in 3ds Max 2013 can be passed as second argument to enable the new Retimer workflow using markers instead of keys.
deleteEaseCurve <controller> <index>
Deletes the indexed ease curve from the controller. The index is 1- based and corresponds to the order in which the curves were originally added to the controller.
numEaseCurves <controller>
Returns the number of ease curves currently operating on the controller.
applyEaseCurve <controller> <time>
Applies the combined ease curves in the specified controller to the given time value, returning the transformed time.
getEaseCurve <controller> <index>
Returns the indexed ease curve (a bezier_float
controller) on the specified controller. The index is 1- based and corresponds to the order in which the curves were originally added to the controller.
addMultiplierCurve <controller> [ <float_controller> ]
Adds a multiplier curve to the specified controller.
You can provide an optional float controller for the curve or have the function generate a default float controller for you.
When you add a multiplier curve in Track View, keys are automatically created at the beginning and end of the current animation range. The addMultiplierCurve()
method does not generate these keys, so you need to add them to the multiplier curve controller.
deleteMultiplierCurve <controller> <index_integer>
Deletes the indexed multiplier curve from the controller. The index is 1- based and corresponds to the order in which the curves were originally added to the controller.
numMultiplierCurves <controller>
Returns the number of multiplier curves currently operating on the controller.
getMultiplierValue <controller> <time>
Returns the combined (float) value of the multiplier curves in the specified controller at the given time value.
getMultiplierCurve <controller> <index>
Returns the multiplier curve (a bezier_float
controller) at the specified index. The index is 1-based and corresponds to the order in which the curves were originally added to the controller.
Associated Properties
If an Ease Curve is assigned to a controller, the following controller-related sub-property is available:
<controller>.Ease_Curve -- the controller's ease curve value
<controller>.Ease_Curve.controller -- the ease curve controller itself
If a Multiplier Curve is assigned to a controller, the following controller-related sub-property is available:
<controller>.Multiplier_Curve -- the controller's multiplier curve value
<controller>.Multiplier_Curve.controller -- the multiplier curve controller itself
The values stored in an Ease Curve controller are stored as integer time ticks.
The following script shows examples of some of the above methods.
EXAMPLE
--controller test bed 3 b=box height:10 at time 5 animate on b.height=50 at time 10 animate on b.height=100 bhc=b.height.controller ec=bezier_float() at time 0 animate on ec.value = 0 at time 100 animate on ec.value=100*ticksPerFrame setBeforeORT ec #linear setAfterORT ec #linear addEaseCurve bhc ec applyEaseCurve bhc 50 addEaseCurve bhc ec numEaseCurves bhc deleteEaseCurve bhc 2 numEaseCurves bhc at time 50 bhc.ease_curve mc=bezier_float() at time 0 animate on mc.value = 1 at time 100 animate on mc.value = 2 addMultiplierCurve bhc mc at time 50 bhc.multiplier_curve