Infinite Value Public API
InterpolateInfVal
namespace: InfiniteValue
A static class containing methods allowing you to interpolate between two InfVal.
static Methods
Linear Linearly interpolates.
public static InfVal Linear(in InfVal min, in InfVal max, float t, bool clamped = true)
Linearly interpolates between min and max by t.
Optionally allow the return value to go outside of the [min, max] range if t is outside of the [0, 1] range.
SmoothStep Interpolates with smoothing at the limits.
public static InfVal SmoothStep(in InfVal min, in InfVal max, float t, bool clamped = true)
Interpolates between min and max by t with smoothing at the limits.
Optionally allow the return value to go outside of the [min, max] range if t is outside of the [0, 1] range.
EaseIn Interpolates with a modifiable smoothing at the beggining.
public static InfVal EaseIn(in InfVal min, in InfVal max, float t, float easePower, bool clamped = true)
Interpolates between min and max by t with smoothing at the beggining.
The higher easePower is, the more smoothing will be applied. A value of 1 will not produce any smoothing.
Optionally allow the return value to go outside of the [min, max] range if t is outside of the [0, 1] range.
EaseOut Interpolates with a modifiable smoothing at the end.
public static InfVal EaseOut(in InfVal min, in InfVal max, float t, float easePower, bool clamped = true)
Interpolates between min and max by t with smoothing at the end.
The higher easePower is, the more smoothing will be applied. A value of 1 will not produce any smoothing.
Optionally allow the return value to go outside of the [min, max] range if t is outside of the [0, 1] range.
EaseInAndOut Interpolates with a modifiable smoothing at the limits.
public static InfVal EaseInAndOut(in InfVal min, in InfVal max, float t, float easePower, bool clamped = true)
Interpolates between min and max by t with smoothing at the limits.
The higher easePower is, the more smoothing will be applied. A value of 1 will not produce any smoothing.
Optionally allow the return value to go outside of the [min, max] range if t is outside of the [0, 1] range.
LinearAngle Angle version of Linear.
public static InfVal LinearAngle(in InfVal minAngle, in InfVal maxAngle, float t, bool clamped = true)
Same as Linear but makes sure the values interpolate correctly when they wrap around 360 degrees.br>
SmoothStepAngle Angle version of SmoothStep.
public static InfVal SmoothStepAngle(in InfVal minAngle, in InfVal maxAngle, float t, bool clamped = true)
Same as SmoothStep but makes sure the values interpolate correctly when they wrap around 360 degrees.br>
EaseInAngle Angle version of EaseIn.
public static InfVal EaseInAngle(in InfVal minAngle, in InfVal maxAngle, float t, float easePower, bool clamped = true)
Same as EaseIn but makes sure the values interpolate correctly when they wrap around 360 degrees.
EaseOutAngle Angle version of EaseOut.
public static InfVal EaseOutAngle(in InfVal minAngle, in InfVal maxAngle, float t, float easePower, bool clamped = true)
Same as EaseOut but makes sure the values interpolate correctly when they wrap around 360 degrees.
EaseInAndOutAngle Angle version of EaseInAndOut.
public static InfVal EaseInAndOutAngle(in InfVal minAngle, in InfVal maxAngle, float t, float easePower, bool clamped = true)
Same as EaseInAndOut but makes sure the values interpolate correctly when they wrap around 360 degrees.
InverseLinear Calculates the linear parameter that produces the given interpolant value.
public static float InverseLinear(in InfVal min, in InfVal max, in InfVal value)
Calculates the linear parameter t that produces the interpolant value within the range [min, max].