Controller Ease and Multiplier Curve Functions

Value > MAXWrapper > Controllers > Ease and Multiplier Curve Functions

 

   

Animation Controllers - Quick Navigation

   

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.

NEW in 3ds Max 2013: 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_integer>   

Deletes the indexed ease curve from the controller. The indexes are 1- based and correspond 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 ease curve (a bezier_float controller) at the specified index.

   

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 ease 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 ease curve controller.

   

deleteMultiplierCurve <controller> <index_integer> 

Deletes the indexed multiplier curve from the controller. The indices are 1- based and correspond 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> <time> 

Returns the multiplier curve (a bezier_float controller) at the specified index.

   

Associated Properties

If an Ease Curve is assigned to a controller, the following controller-related sub-property is available:

<controller>.Ease_Curve -- the controller’r 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’r s multiplier curve value 
<controller>.Multiplier_Curve.controller -- the multiplier curve controller itself
NOTE:

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

See Also