Range

Linearly remap values from one range to another, with clamp and offset. With nothing wired in, it generates an evenly spaced number sequence; the remap is linear, so easing comes from a Curve node.

What it does

Range remaps a number, or a list of numbers, from one range into another with a straight linear map. There is no built-in easing: min-to-max scaled to min-to-max, with an optional clamp and an additive offset applied afterwards.

Leave Source disconnected and Range switches modes. Instead of remapping it generates a fresh sequence of evenly spaced numbers from Minimum to Maximum, with Count values in the sequence.

When to use it

ParameterTypeDefault
sourceOneOf([Number, NumberArray])
source_minNumber0
source_maxNumber1
minimumNumber0
maximumNumber1
countNumber10
clampBooleantrue
offsetNumber0

Gotchas

Clamp is on by default, keeping remapped values inside [Minimum, Maximum]. Turn it off to let the linear map extrapolate past the output range for values outside the source range.

The remap is strictly linear. For an S-curve or a custom ease, send the result through a Curve node afterwards.

Count only matters when Source is disconnected. With something wired into Source, each incoming value is remapped instead and Count is ignored.

Worked example

  1. Add a Range node with nothing wired into Source. It generates a sequence: set Count for how many values, and Minimum/Maximum for the span.

  2. Wire a value into Source to switch modes: set Source Min/Max to the expected input range, and Minimum/Maximum to the range required out.

  3. Use Offset to nudge the remapped result up or down, and toggle Clamp depending on whether out-of-range inputs should extrapolate.

See also

Math · Fit · Random · Numbers, signals & audio