Curves Utility
A library of 40+ easing curve functions for animation, transitions, and interpolation. Each curve type comes in three variants: Ease In, Ease Out, and Ease In-Out.
All functions take and return clamped values between 0.0 and 1.0 (available as both float and double).
When to Use
- Animation timing — Control the acceleration and deceleration of animated values
- UI transitions — Fade, slide, and scale with natural-feeling motion
- Gameplay curves — Difficulty scaling, damage falloff, speed ramps
- Procedural generation — Shape noise, terrain height curves, gradient falloff
Available Curves
| Curve | Character |
|---|---|
Linear | Constant speed — no easing |
Quadratic | Gentle acceleration/deceleration |
Cubic | Moderate acceleration/deceleration |
Quartic | Strong acceleration/deceleration |
Quintic | Very strong acceleration/deceleration |
Sinusoidal | Smooth, natural-feeling motion |
Exponential | Sharp acceleration, gradual deceleration (or vice versa) |
Circular | Based on circular arc — distinct feel |
Elastic | Overshoots and springs back |
Back | Pulls back before moving forward |
Bounce | Bounces at the end |
Curve Type Enum
The CurveType enum ({A9718DE5-BFD6-4206-A8B8-0DEB7B7162F2}) can be reflected to the inspector, allowing designers to select easing curves from a dropdown in the Entity Inspector.