Keyframes and Effect Parameters

From Light Stream (EN)
Revision as of 18:51, 2 September 2026 by LumiBot (talk | contribs) (Перевод с русской вики (задача №963, LS Dev Hub))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

A keyframe is a mark on the timeline where an effect parameter has a specific value. As long as there are no keyframes, the parameter keeps the same value for the whole length of the effect: the speed is always the same, the color is always the same. Set two keyframes with different values, and Light Stream will calculate the values in between on its own, so the parameter changes smoothly over time.

Keyframes can animate almost any property of an effect: opacity, speed, size, rotation angle, element count, color. This is how you create smooth fade-ins and fade-outs, acceleration and stopping, or a color change timed to an exact second.

Where Effect Parameters Are Located

Select the effect — click its bar on the Timeline or the row with its name. The parameters will appear in two places at once.

The Properties window — the full set of effect parameters: sliders, numeric fields, checkboxes, lists, color pickers. This is where it's convenient to adjust values by eye.

The Timeline window — to the left of the time ruler, effects are listed. Click the triangle to the left of the effect's name, and the same parameters will expand below it, grouped together. Next to each parameter, on the time ruler itself, runs its own track — this is where keyframes live.

This is the same set of parameters shown in two different ways: a value changed in one window changes immediately in the other. It's more convenient to pick values in Properties, and to place them in time on the Timeline.

Three Parameter States

At any moment, each effect parameter is in one of three states, and only one of them is ever active.

State How it works
Constant value The value is set by a slider or field and does not change over time. This is how all parameters work by default
Keyframes The value is set by keyframes on the parameter's track and changes over time. Between keyframes, the program calculates intermediate values
Function The value is calculated using a formula — sine, linear, pulse, or noise — and repeats indefinitely while the effect is playing

Enabling Keyframes

The keyframe mode toggle is the stopwatch icon next to the parameter: in the Properties window it sits to the right of the slider, and on the Timeline it sits to the left of the parameter's name. A disabled stopwatch is gray; an enabled one glows orange.

  1. Select the effect and find the parameter you need.
  2. Click the stopwatch — the parameter switches to keyframe mode.

Nothing changes right after enabling it: as long as the parameter has no keyframes, it keeps its previous value.

Placing Keyframes

The shortest way is simply to set the parameter's value at different points in time.

  1. Place the playback cursor on the Timeline where the first value should be.
  2. Set the parameter's value — with the slider, the numeric field, or a color picker. A keyframe will appear on the parameter's track at the cursor's position.
  3. Move the cursor further along and set a different value — a second keyframe will appear.
  4. Done: between the two keyframes, the parameter smoothly transitions from the first value to the second.

This also explains the main feature of keyframe mode: the slider and the field no longer set an "overall" value for the parameter — they edit the value at the cursor's position. If there is no keyframe on that frame, one is created; if there is, its value changes.

You can also place a keyframe without touching the value, using a button. In the parameter's row on the Timeline there are three small buttons — ◀ ◆ ▶. The middle diamond button places a keyframe on the current frame with whatever value the parameter currently has; if a keyframe is already on that frame, clicking it again removes it.

The third way is to work directly on the track. Double-click the parameter's track: it will switch to keyframe editing mode. Each subsequent double-click on the track creates a keyframe at that point — the horizontal position sets the time, the vertical position sets the value: the bottom of the track corresponds to the parameter's minimum, the top to its maximum.

Keyframes belong to the effect, not to the composition: a keyframe's time is measured from the start of the effect. If you move the effect along the timeline, its entire animation moves along with it.

Editing Keyframes

To work with existing keyframes, enter track editing mode — double-click the track. To exit the mode, press Enter or Esc.

Action How to do it
Select a keyframe Click the diamond on the track
Select multiple keyframes Click while holding Ctrl or Shift; or drag a selection box around the keyframes, starting from an empty spot on the track
Move a keyframe Drag it: the horizontal position changes the time, the vertical position changes the value. Selected keyframes move together as a group
Delete a keyframe Delete or Backspace; or right-click the keyframe → Delete
Undo a mistake Ctrl+Z, to redo — Ctrl+Shift+Z

Keyframes snap exactly to the composition's frames, so two keyframes of the same parameter cannot end up at the same point.

Before the First and After the Last Keyframe

Outside the outermost keyframes, the value does not change: before the first keyframe, the parameter holds the value of the first one; after the last, the value of the last one. The animation does not return to its initial state on its own. If the effect should end the same way it started, place another keyframe with the needed value at the end.

Moving Between Keyframes

The arrow buttons and on either side of the diamond move the playback cursor to the previous and next keyframe of this parameter, and select it at the same time.

This makes it easy to land exactly on a keyframe: jump to it with the arrow and adjust the value with the slider, without risking accidentally creating an extra keyframe nearby. If there are no more keyframes in that direction, the button does nothing.

Turning Off the Animation

Click the stopwatch again — it will turn off, and the parameter will return to the constant value it had before keyframes were enabled.

The keyframes you placed are not lost: turn the stopwatch back on, and the animation returns exactly as it was. To get rid of the animation for good, delete the keyframes from the track.

Functions Instead of Keyframes

If what you need is not precisely-timed motion between points but an endless, uniform oscillation — blinking, smooth pulsing, random flickering — it's easier to assign the parameter a function instead of keyframes. A function is calculated on its own, needs no keyframes, and never ends while the effect is playing.

Next to the parameter's slider in the Properties window there is an L button. Click it and choose Functions, then pick the function you need.

Function What it does
Sine Smoothly drives the value from the minimum to the maximum and back. Good for "breathing," a smooth pulsing of brightness or size
Linear Steadily drives the value from the minimum to the maximum and starts over. The Both directions checkbox makes the value go back instead of jumping abruptly
Pulse Rectangular on/off switching: the value sits at the minimum, then jumps to the maximum. This is for strobe and blinking effects
Noise Random smooth changes — flickering, "living" fire, chaotic shimmer

The Settings item in the same menu opens the parameter window for the selected function.

Parameter What it sets
Function duration, sec The length of one cycle for the Sine and Linear functions
Interval, sec The length of one cycle for the Pulse function
Pulse distribution, % The ratio of the off and on parts of the interval for the Pulse function
Frequency How fast the value changes for the Noise function
Seed value The random seed for Noise. The New button picks a different seed, changing the flickering pattern
Minimum value and Maximum value The bounds within which the value moves. Set as a fraction from 0 to 1 of the parameter's full range
Time offset, % Shifts the function's phase. Useful when several effects share the same function and need to be offset in time from each other
Both directions Only for Linear: the value goes back and forth instead of jumping back to the start

While a function is driving the parameter, the slider does not change it, and the L button glows orange. To return to manual control: LFunctionsClear.

Controlling a Parameter Externally

The same L button links the parameter to an external source, so you can control it live during the show instead of setting it in advance.

  • OSC, MIDI, DMX — the parameter starts listening for an incoming command: a message, a note, a channel. The program will open a window where you specify that command, or simply send it from the console.
  • Virtual controller — the parameter is bound to a slider or a palette from the Virtual Controller window (Settings menu → Virtual Controller). Sliders and palettes are added in that window itself, and a single slider can drive several parameters of different effects at once — handy when the same brightness or color needs to be changed across the whole project with one motion.

The L button glows orange if the parameter has at least one binding; hover over it to see a tooltip listing the bindings. The Clear item at the end of the menu removes them all.

If Something Goes Wrong

The slider doesn't change the parameter. The parameter has keyframe mode enabled or a function assigned. In keyframe mode, the value is edited at the cursor's position and written into a keyframe; with a function, it can't be edited at all. Turn off the stopwatch or clear the function to restore normal behavior.

The effect doesn't return to its initial state. After the last keyframe, the value is simply held. Place a final keyframe where the animation should reach its end state.

The program lags on animation with a lot of keyframes. Updating values in real time noticeably loads the computer. Turn off the Update keyframe data during playback setting — Settings menu → Properties, General tab, Miscellaneous group. The animation is still calculated as before, only the numeric fields stop updating on the fly.

See also