MANUAL / SCRIPTING & EXPRESSIONS

Expressions

Live After Effects-style formulas that drive a property, evaluated every frame in preview and export.

What it does

An expression is a short formula that computes a property's value each frame — wiggle(2, 30), time * 90, loopOut("cycle"), linear(time, 0, 1, 0, 100), thisComp.layer("Null 1").transform.position. Brio uses the After Effects expression language; an expression copied from AE either runs, or fails with a message naming the line and the reason.

In Brio an expression is an Expression modifier in a layer's modifier stack.

How it behaves

  • AE units. Expressions read and write position in top-left, Y-down comp pixels; scale and opacity in percent; rotation in degrees clockwise.
  • Deterministic. Every value depends only on time, the scene and a per-property seed, so random() and wiggle() give the same numbers in preview and export, and after a reload.
  • Errors never break the render. The property keeps the value it had before the expression, and the Properties panel shows the message.
  • Expressions can read each other. Reading a property that has its own expression evaluates that one first. A loop (A reads B reads A) uses the pre-expression value, and both show an error.
  • No JavaScript engine. No loops (for, while, do), no user functions (function, return), no new, this or class, no ++/--. The last line's value is the result.
  • Maximum length 64 KB.

Reference