Phasor

A continuously rising ramp that wraps from 1 back to 0. Unlike the Oscillator, the Phasor produces a single value per frame (not per point) that advances over time. It's the go-to node for driving rotation, phase modulation, and anything that needs steady forward motion.

Inputs

PortTypeDefaultRangeDescription
OffsetScalar0.00–1Static offset added to the ramp
SpeedScalar0.0−20–20 HzRamp speed in cycles per second (replaced by Rate in BPM mode)
SpreadScalar0.00–1Per-laser phase offset that spreads timing across lasers

Outputs

PortTypeDescription
OutScalarCurrent ramp value, 0–1 (keeps counting up with Wrap off)

Controls

  • Free | BPM: Switches between free-running at Speed and locking to the global BPM clock.
  • Rate: In BPM mode, the cycle speed as a multiple of the tempo, from bpm/32 up to 8×bpm. At bpm the ramp cycles every 2 beats, at 2×bpm every beat, and at bpm/2 every 4 beats (one bar).
  • Wrap: On by default. Turn it off and the output keeps counting up (1, 2, 3, …) instead of jumping back to 0 after each cycle.

Ideas

  • Feed into a From Polar node's phase input for continuous rotation at a steady rate.
  • With the switch on BPM, use it as a beat-locked animation driver; pick a Rate to cycle every bar, beat, or subdivision.
  • Connect to an Oscillator's Phase input for frequency modulation; the oscillator's waveform slides forward over time.
  • Use the Spread input to offset timing per laser. This creates a multi-laser chase effect without the Laser Chase node.
  • Turn Wrap off and feed the count into Map Range on Loop or Zigzag for ramps of any length, or a smooth ping-pong.

Tips

  • Speed and Spread are sampled once per frame, not per point. They set the rate for the whole frame.
  • The Phasor accumulates phase across frames, so it never jumps or resets (unless you trigger a reset). This makes it ideal for smooth continuous motion.
  • With Wrap off in Free mode, the count restarts at 0 when the clip is triggered again, for example by a new cue. In BPM mode it follows the global beat clock instead of starting from 0.