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
| Port | Type | Direction | Description |
|---|---|---|---|
frame | scalar | output | Current frame number (e.g., 0, 1, 2, ...) |
seconds | scalar | output | Current time in seconds (frame / frameRate) |
normalized | scalar | output | Current time as 0-1 (frame / totalFrames) |
Parameters
| Param | Type | Default | Description |
|---|---|---|---|
timeMode | enum | Composition | Composition (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_frameinto 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)
Related Nodes
- 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