Overview
Creates a free-form "time → value" curve (AutomationCurve). Define arbitrary
motion shapes that standard waveform nodes such as sine cannot express—for example,
a hold followed by a sudden start and a gradual stop—using presets or a JSON sample
sequence.
Usage tips
- Start with a preset for the quickest setup. Supply a JSON sample sequence when you need more elaborate motion.
- If the nine options in
ease_in_outare enough, that node is simpler. Use this node when you want to design the shape of the curve itself. - Connect it to a compatible node with a curve input to drive a parameter over time.
Generates an AutomationCurve from a preset or JSON samples.
Ports
| Direction | Port | Type | Description |
|---|---|---|---|
| Output | curve |
AutomationCurve |
Generated control curve |
Parameters
duration: Duration of the curvesamples: Number of output samplespreset:Flat/Rise/Fall/AttackDecay/Wobble/Jsonjson_samples: A JSON array of values from 0 to 1, shown only forpreset=Jsonoutput_min: Output value when the curve value is 0output_max: Output value when the curve value is 1
Notes
Version 2 supports presets and JSON input. Known legacy lowercase values remain accepted for compatibility, but any other unknown value is an error instead of silently selecting a default. Invalid JSON is also reported as an evaluation error without replacing the entered text. A dedicated CurveEditor UI remains a future extension.
Related nodes
ease_in_out— nine standard easing modes (check whether this is enough first)keyframe_clip— keyframes for shapes and poses rather than valuesimage_to_automation/path_to_automation— create curves from images or paths