Skip to content

Time

Outputs the current time as frame number, seconds, and normalized (0-1) values. The primary driver for all animated expressions.

Category: Time Menu path: Time > Time

Ports

PortTypeDirectionDescription
framescalaroutputCurrent frame number (e.g., 0, 1, 2, ...)
secondsscalaroutputCurrent time in seconds (frame / frameRate)
normalizedscalaroutputCurrent time as 0-1 (frame / totalFrames)

Parameters

ParamTypeDefaultDescription
timeModeenumCompositionComposition (absolute comp time) or Layer (relative to layer start)

How It Works

Time is a pure value node that reads the current playhead position and outputs it in three formats:

  • frame: The raw frame number. In Composition mode, this is the comp frame. In Layer mode, it is relative to the layer's start frame (frame 0 = layer start).
  • seconds: Frame divided by the composition's frame rate.
  • normalized: Frame divided by the total composition duration, giving a 0-to-1 ramp over the full timeline.

Time modes:

  • Composition (default): Uses the absolute composition timeline. A Time node always outputs the same value regardless of where the layer sits on the timeline.
  • Layer: Outputs time relative to the layer's clip start. Frame 0 is the first visible frame of the layer. Useful for effects that should start from 0 when the layer appears.

Time is the most common source for driving Math expressions, Noise evolution, TextAnimate progress, and any animated parameter via expose channels.

Usage Examples

Basic: Continuous rotation

Time.seconds -> Math (Multiply, b: 90) -> Transform2D rotation_in (via expose channels). Rotates 90 degrees per second.

Normalized progress

Time.normalized -> TextAnimate progress_in. Text reveals over the full comp duration.

Layer-relative animation

Set timeMode to Layer. Time.normalized -> Math (Smoothstep) -> drives opacity. The fade happens relative to the layer's clip, not the comp timeline.

Oscillation

Time.seconds -> Math (Sin) -> Math (Remap, inMin: -1, inMax: 1, outMin: 0, outMax: 1). Smooth 0-1 oscillation at 1Hz.

Tips

  • Time is a time-varying node -- it hashes comp_frame into its cache key, ensuring downstream nodes properly re-evaluate each frame
  • Use Composition mode when you want consistent timing across layers; use Layer mode when you want each layer to animate independently
  • The normalized output is particularly useful for progress-based animations (0 at start, 1 at end)
  • Time supports sub-frame evaluation for motion blur (the engine passes fractional frame values)
  • Math -- transform Time outputs into useful ranges (Sin, Remap, Multiply, etc.)
  • MakeVector -- combine Time-driven scalars into vec2 for position/scale
  • Constant -- fixed value (non-animated counterpart to Time)
  • Noise -- connect Time.seconds to Noise.evolution for animated noise

Caddis — professional motion design.