ApplyEasing
From GECK
A function added by the ShowOff NVSE Plugin version 1.40.
Contents
Description
Applies an easing function to an input value (assumed to be between 0-1), to specify the rate of change of that input over time, and returns that eased value.
The easing function to use is specified via easingFuncName (which is NOT case-sensitive). Possible values are in Notes. easingMode is used to specify the mode of the easing function. Possible values:
0 = EaseIn 1 = EaseOut 2 = EaseInOut
Returns -1 if the operation was not successful (example: invalid easingFuncName string).
Syntax
(easedValue:float{0-1}) ApplyEasing input:float{0-1} easingFuncName:string easingMode:int{0,1,2}
Or:
(easedValue:float{0-1}) Ease input:float{0-1} easingFuncName:string easingMode:int{0,1,2}
Example
float fCurrentTime float fTotalLerpTime float blendX float fT float oldx float newX fCurrentTime += GetSecondsPassed if (fCurrentTime > fTotalLerpTime) fCurrentTime = fTotalLerpTime endif fT = fCurrentTime / fTotalLerpTime fT = ApplyEasing fT "Sine" 0 ; Ease in blendX = Lerp oldX newX fT
Example of using Lerp with this function to introduce a curve to the motion.
Notes
- Visual examples of each easing function available here. The same code from that resource is used here.
- Easing function names for easingFuncName:
| Names (case-insensitive, only needs to match the start) |
|---|
| Sin |
| Cub |
| Quint |
| Circ |
| Elastic |
| Quad |
| Quart |
| Expo |
| Back |
| Bounce |
See Also
- ApplyEasingAlt - same as this, but using an integer to specify the easing function.
- Lerp