Skip to content

Echo

Samples upstream at multiple time offsets and blends them into trailing copies — a classic echo effect.

Category: Time Menu path: Time > Echo

Ports

PortTypeDirectionDescription
inimageRgba16finputUpstream animated content.
outimageRgba16foutputWeighted blend of upstream evaluated at N offset frames.

Parameters

ParamTypeDefaultDescription
samplesscalar5Number of echoes including the current frame. Clamped to 1–16.
timeStepscalar4Frames between echoes. Positive = trailing (older content lingers). Negative = leading (future content shows early).
decayscalar0.7Geometric falloff per echo: echo i contributes decay^i. 1.0 = all echoes equal weight. 0.0 = only the current frame.

Expose Channels

PortTypeOverrides
samples_inscalarsamples
timeStep_inscalartimeStep
decay_inscalardecay

How It Works

For each echo i in 0..samples:

  1. Compute t = comp_frame - i * timeStep.
  2. Re-evaluate the upstream subgraph at t (using the same primitive as TimeShift).
  3. Accumulate via the engine's weighted-blend pass with weight decay^i (running normalization, identical to motion-blur accumulation).

The result is a Gaussian-like trail of past (or future) versions of the content overlaid on the current one. Performance scales linearly with samples — each echo is a full upstream re-eval, just like motion blur.

Usage Examples

Classic motion echo

Animated character → Echo(samples=5, timeStep=4, decay=0.7). Trailing ghost copies at 4-frame intervals.

Subtle 2-tap shadow

Echo(samples=2, timeStep=2, decay=0.4). Just one ghost copy two frames behind, at 40% strength. Adds visual weight to fast motion without obvious trails.

Aggressive long trail

Echo(samples=16, timeStep=2, decay=0.9). 16 closely-spaced echoes with slow falloff — content leaves a long, smooth tail.

Future echo (anticipation)

Echo(samples=4, timeStep=-3, decay=0.6). Negative timeStep shows where the content will be in the next 3, 6, 9, 12 frames. Anticipation effect — content arrives before the live frame.

Strobe / trail combo

Echo upstream of PosterizeTime(step=4). Echo trails on stop-motion content. Both are time effects and compose cleanly.

Tips

  • Performance. samples=5 is roughly the cost of motion blur with 5 sub-frames. For chains with simulations or video, drop a FileCache between the source and Echo — the editor surfaces a "SLOW" chip when this would help.
  • Backward sims. Stateful nodes (PointAdvect, PointTrail) cache per-frame state. Echo looking at past frames hits that cache cleanly. Looking at future frames (timeStep < 0) requires the sim to have advanced — works during normal forward playback because past forward iterations cached the future.
  • Decay vs samples. For a long subtle trail, raise samples and decay together. For a punchy double-image effect, low samples (2-3) with low decay (0.3-0.5).
  • Equal weighting. decay=1.0 produces a uniform-weight average across all echoes — good for a "long-exposure" feel.
  • Time Shift — single-offset re-eval (Echo is N TimeShifts blended).
  • Freeze Frame — pin to one frame.
  • Loop — modulo-cycle.
  • Posterize Time — discrete-step playback. Combines well with Echo.
  • FileCache — bake upstream to disk; essential for fast Echo on heavy chains.

Caddis — professional motion design.