Linear | This node interpolates linearly between a start and target value. | |
Decay | This node interpolates linearly between a start and target value. In contrast to Linear the gradients for increase and decrease can be set individually. | |
Damper | This node interpolates between a start and target value with ease-in and ease-out. | |
Oscillator | This node oscillates around a target value, beginning at a start value. | |
Ease | This node interpolates between a start and target by using common easing functions. | |
Ease Morph | This node blends a Begin and Target value according to a specified easing function based on the Morph value. | |
Clipping | This node clips and maps a range of values to another value range. | |
Delay | This node transfers values from input to output with a customizable delay. | |
Array Ease | This node interpolates each index of an array between a start and target by using common easing functions. | |
Array Ease Morph | This node blends each index of an array between a Begin and Target value according to a specified easing function based on the Morph value. |
All Math Effect Nodes take a numeric input value that is manipulated over time and transform it into an output value. They are often used to enhance the appearance of simple animations done with e.g. Mover Nodes.
Note that Linear, Decay, Damper and Oscilator nodes are value-generators! They automatically generate output values if the Target property changes. So it does not make sense to change the Target value every frame.
Interpolates linearly between the current value of the Value output property and the value of the Target1 input property. The interpolation is automatically started when the target value changes and finishes after the amount of seconds specified in Duration. Once the interpolation is completed, the Reached event is fired.
By checking the UseTarget2 property, the interpolation will use the value of Target2 instead of Target1 as the interpolation goal.
The Decay Node is similar to the Linear Node in that it performs a linear interpolation between the current output value and the target value. It extends the Linear Node by the Attack (start value is lower than target value) and Decay (start value is higher than target value) properties which specify the rate of interpolation instead of a fixed Duration. The duration of the interpolation arises from the Attack/Decay value and the difference between the start and target value.
The Damper node is similar to the Linear Node in that it performs an interpolation between the current output value and the target value. However, it interpolates between the start and target value by one of two non-linear functions. Function_1 corresponds to a cosine where Function_2 corresponds to a hyperbolic tangent type of interpolation.
The Oscillator node is similar to the Linear Node in that it performs an interpolation between the current output value and the target value. It uses a spring-mass type equation to guide the interpolation. The interpolated value will close in on the target value, overshoot it, reverse velocity, overshoot it, while at the same time slowing down until the target is reached.
The Ease node is similar to the other interpolation nodes in that it performs an interpolation by the well known easing functions like Back, Bounce, Elastic, etc. The Function and Mode properties select the easing mode and interpolation type. Some easing functions require additional parameters. If such a function is selected the required parameters show up in the Property Editor while others are hidden.
The Ease Morph node blends Begin and Target based on the Morph value by the well known easing functions like Back, Bounce, Elastic, etc. The Function and Mode properties select the easing mode and interpolation type. Some easing functions require additional parameters. If such a function is selected the required parameters show up in the Property Editor while others are hidden.
The supported easing functions are identical to the ones of the Ease Node.
The Delay Node stores input values and provides them as output values with a certain delay. The amount of delay is defined in number of frames between receiving a new input value and the time it gets set as output value.
The Clipping Node maps a range of input values to a range of output values. For example the value range [0, 1] can be mapped to the value range [-2, 2]. The range for the input values is defined by the Properties MinIn and MaxIn. MinIn defines the lower limit and MaxIn the upper limit of the range. Input values that lie outside the range are assigned to the nearest range limit.
The range for the output values is defined by the Properties MinOut and MaxOut. MinOut defines the lower limit and MaxOut the upper limit of the range.
The Array Ease Node works similar to the Node with the difference that it is interpolating every number in a float or double Array. Additionally to the properties it has in common with the Ease Node it provides Array Options that are needed to process Arrays of different lengths. Automatic will switch to an Array with the size of the longer array during the interpolation and afterwards switching to the size of the target array. During the Interpolation it starts from or ends at the FillUpValue. Keep Old Values will keep all values of the start array that will be undefined in the target array due to its length. Fill Up applies the FillUpValue to all values that are undefined in the target array. The table below illustrates these behaviors with examples.
FillUpValue = 0 |
Target1 = 1, 2, 1, 2, 1 |
Target1 = 3, 4, 5 | ||||||
---|---|---|---|---|---|---|---|---|
Array Option | Before | Start | End | After | Before | Start | End | After |
Automatic | 1, 2, 1, 2, 1 | 1, 2, 1, 2, 1 | 3, 4, 5, 0, 0 | 3, 4, 5 | 3, 4, 5 | 3, 4, 5, 0, 0 | 1, 2, 1, 2, 1 | 1, 2, 1, 2, 1 |
Keep Old Values | 1, 2, 1, 2, 1 | 1, 2, 1, 2, 1 | 3, 4, 5, 2, 1 | 3, 4, 5, 2, 1 | 3, 4, 5, 2, 1 | 3, 4, 5, 2, 1 | 1, 2, 1, 2, 1 | 1, 2, 1, 2, 1 |
Fill Up | 1, 2, 1, 2, 1 | 1, 2, 1, 2, 1 | 3, 4, 5, 0, 0 | 3, 4, 5, 0, 0 | 3, 4, 5, 0, 0 | 3, 4, 5, 0, 0 | 1, 2, 1, 2, 1 | 1, 2, 1, 2, 1 |
FullLength outputs the size of the current output array while DefinedLength outputs the size of the current targeted array.
The Array Ease Morph Node works similar to the Array Ease Node but uses a Morph value instead of the time to determine the current value.
While interpolating it follows the rules of the Automatic mode of the Array Ease node. So when at exactly 0% or at 100% the length of the output array equals the length of the corresponding input array. On any other Morph value the length equals that of the longer array. The shorter array is filled up with 0 and will also interpolate from there.