Globals & parameters

A handful of ready-made names you can drop into any Expression — time, frame, the parameter's own value — plus a way to grow your own slider.

Inside an The Expression language you mostly read attributes with @name. Globals are the other half: built-in names that start with $, always available, always live. Type one into a formula and it updates every frame on its own.

$T and $F — time and frame

$T is the current animation time in seconds. $F is the current frame number. These are the two you'll reach for most — they're what turn a static formula into a moving one.

sin($T * 2.0) * 10.0

That sways a value back and forth forever, twice per second. Drive a position, a colour channel, a radius — anything.

$F % 8

Counts 0,1,2…7 and repeats, handy for stepping through frames or cycling a pattern.

A few more you'll see:

$T follows the Time & playback transport, so scrubbing the The timeline scrubs your animation too. Use $T (seconds) for motion that should feel the same regardless of frame rate; use $F when you genuinely want to count frames.

value — this parameter's own value

When you write an Expression on a parameter (rather than in an Expression node), value means that parameter's own current value — including any keyframes or connections feeding it. It lets you nudge a value without throwing away the animation already on it.

value + sin($T) * 0.1

That adds a gentle wobble on top of whatever the parameter is already doing. See Parameter expressions for where these live.

param("name", default) — grow your own slider

param("name", default) does two things at once: it reads a value, and if no control by that name exists yet it adds a slider to the node for you. The default is the starting value.

@P.y = @P.y + sin($T) * param("wave_height", 5.0)

The first time this cooks, a wave_height slider appears on the node, set to 5.0. Drag it and the motion responds live — you never edit the formula again.

The default has to be a plain number (like 5.0 or -0.5), not another formula. That's what lets the app find your slider and add it automatically.

param() is the quickest way to make an Expression tweakable — expose the one or two numbers you'll want to play with, then animate or Recording live input onto the slider like any other control.

See also