Curve

Define animation curves with keyframes and interpolation.

What it does

Curve is an editable animation curve. Drag its handles to shape an easing curve, or wire one in from another node.

With Value disconnected, the output is the curve itself, ready to drive anything taking a curve input: Follow Path progress, a Step Sequencer, an Oscillate shape. Wire a number or number array into Value and the output becomes that value remapped through the curve instead. Input Min/Max map the incoming value onto the curve's 0–1 span; Output Min/Max map the curve's 0–1 result back out.

When to use it

ParameterTypeDefault
valueOneOf([Number, NumberArray])
curveOneOf([Curve])Curve(Easing(BezierSpline { points: [...
input_minNumber0
input_maxNumber1
output_minNumber0
output_maxNumber1

Gotchas

The output type depends on whether Value is wired. Disconnected, Curve outputs the curve. Connected, it outputs the remapped result. Connecting or disconnecting Value changes what downstream nodes receive.

Input values outside Input Min/Max do not extrapolate past the curve. They clamp to the nearest edge, X=0 or X=1, before being evaluated.

Leaving the Curve input unwired while remapping a Value falls back to a smooth default curve rather than a hard cutoff, so the remap still works, without your custom shape.

Worked example

  1. Add a Curve node and shape its handles into the easing you want.

  2. Leave Value disconnected and wire Curve's output into a Follow Path node's progress input to drive motion along a path with custom easing.

  3. Or, wire a number into Value, and adjust Input Min/Max and Output Min/Max to remap that value's range through the curve.

See also

Motion Path · Timeline · Step Sequencer · Numbers, signals & audio