Curves

A base class for physics trigger and collision handling — inherit to create interactive volumes with enter, exit, and hold callbacks.

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

CurveCharacter
LinearConstant speed — no easing
QuadraticGentle acceleration/deceleration
CubicModerate acceleration/deceleration
QuarticStrong acceleration/deceleration
QuinticVery strong acceleration/deceleration
SinusoidalSmooth, natural-feeling motion
ExponentialSharp acceleration, gradual deceleration (or vice versa)
CircularBased on circular arc — distinct feel
ElasticOvershoots and springs back
BackPulls back before moving forward
BounceBounces 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.