Smoothstep Node

Description

Returns the result of a smooth Hermite interpolation between 0 and 1, if the value of input In is between the values of inputs Edge1 and Edge2 respectively. Returns 0 if the value of input In is less than the value of input Step1 and 1 if greater than the value of input Step2.

This node is similar to the Lerp Node but there are two notable differences. Firstly, with this node the user specifies the range and the return value is between 0 and 1. This can be seen as the opposite of the Lerp Node. Secondly, this node uses smooth Hermite interpolation instead of linear interpolation. This means the interpolation will gradually speed up from the start and slow down toward the end. This is useful for creating natural-looking animation, fading and other transitions.

Ports

Name Direction Type Description
Edge1 Input Dynamic Vector Minimum step value
Edge2 Input Dynamic Vector Maximum step value
In Input Dynamic Vector Input value
Out Output Dynamic Vector Output value

Generated Code Example

The following example code represents one possible outcome of this node.

void Unity_Smoothstep_float4(float4 Edge1, float4 Edge2, float4 In, out float4 Out)
{
    Out = smoothstep(Step1, Step2, In);
}