Noise
Generate Perlin, Simplex, Value, Worley, Random, Cell, Manhattan, or Sparse Convolution noise as a spatial field. The field bakes to an image when something downstream needs pixels.
What it does
Noise generates a procedural pattern as a spatial field: Perlin, Simplex, Value, Worley, or Random, with fractal layering (FBM, Turbulence, Ridge) to build up detail. A field has no native resolution. Frequency sets how fine the pattern is, and by default a bounded texture window is baked into it at the Resolution you set.
Turn Rasterize off and the output stays an infinite procedural field, for sampling or warping analytically further down the graph rather than working with fixed pixels. Domain Warp displaces the sample position with an internal warp noise before evaluating, producing the swirled, marbled distortion. Monochrome gives a greyscale field for use as a mask, displacement, or roughness source; turn it off to map noise values between two colours instead.
When to use it
Organic, non-repeating texture: clouds, marble, terrain, static, or fine surface variation
A mask or displacement source with tunable chunkiness: raise Frequency for fine grain, lower it for broad shapes
Animated noise: wire Time to frame and enable Looping for a pattern that cycles without a visible join
A swirled, warped look: raise Warp Amplitude
Noise as an infinite field to sample or displace elsewhere in the graph: turn Rasterize off
| Parameter | Type | Default | What it does |
|---|---|---|---|
noise_type | String | "Perlin" | Noise algorithm: Perlin (classic), Simplex (improved), Value (blocky), Worley (cellular), Random (white noise), Cell (F2−F1 crackle), Manhattan (diamond cells), Sparse Convolution (impulse-kernel, Lewis 1989). One of: Perlin, Simplex, Value, Worley, Random, Cell, Manhattan, Sparse Convolution. |
seed | Number | 0 | Seed value for reproducible noise patterns |
frequency | Number | 0.020 | Noise frequency — higher values = smaller features, more detail |
amplitude | Number | 1 | Multiplies noise output (affects contrast/strength) |
offset | Vec3 | (0, 0, 0) | Translate noise pattern in (X, Y, Z) |
fractal_mode | String | "FBM" | Fractal layering: None (single octave), FBM (layered), Turbulence (abs), Ridge (inverted abs), Domain Warp (noise-warped FBM), Sine Warp (sinusoidal domain warp), Hybrid Multifractal / Heterogeneous Terrain (Musgrave multifractals — use Fractal Offset). One of: None, FBM, Turbulence, Ridge, Domain Warp, Sine Warp, Hybrid Multifractal, Heterogeneous Terrain. |
octaves | Number | 4 | Number of noise layers (more = more detail, slower) |
lacunarity | Number | 2 | Frequency multiplier between octaves (2 = each octave is 2x frequency) |
persistence | Number | 0.500 | Amplitude multiplier between octaves (0.5 = each octave is half amplitude) |
fractal_offset | Number | 0.800 | Multifractal offset (Musgrave): higher lifts more terrain above the detail threshold. Used by Hybrid Multifractal / Heterogeneous Terrain. |
normalize | Boolean | true | Normalize output to use full 0-1 range |
invert | Boolean | false | Invert noise values (1 - value) |
monochrome | Boolean | true | Grayscale output (false = color noise with independent R/G/B channels) |
color_a | Color | rgba(0.00, 0.00, 0.00, 1.00) | Color at noise minimum |
color_b | Color | rgba(1.00, 1.00, 1.00, 1.00) | Color at noise maximum |
time | Number | 0 | Time value for animating noise (typically connected to frame/time) |
time_scale | Number | 0.100 | Speed of time animation (lower = slower, smoother flow) |
looping | Boolean | false | Make noise seamlessly loop over time (maps time onto a circle in noise space) |
loop_duration | Number | 60 | Number of frames for one complete loop cycle |
warp_amplitude | Number | 0 | Domain warp strength: displaces the sampling position by an internal noise field before sampling. 0 = off. |
warp_frequency | Number | 0.010 | Feature scale of the domain-warp noise — lower = larger, smoother warps. |
rasterize | Boolean | true | On: bounded raster (drop-and-see). Off: raw infinite procedural field. |
resolution | Vec2 | (512, 512) | Rasterize resolution [width, height] — a window into the field; bigger reveals more noise (cell size = frequency). |
show_slice | Boolean | true | On: filled grayscale slice. Off: iso-contour lines (when selected). |
width | Number | 512 | Width of the iso-contour visualization in world units |
height | Number | 512 | Height of the iso-contour visualization in world units |
position | Vec3 | (0, 0, 0) | Translation (X, Y, Z) |
rotation | Vec3 | (0, 0, 0) | Rotation in degrees (X, Y, Z) |
scale | Vec3 | (1, 1, 1) | Scale (X, Y, Z) |
anchor | Vec3 | (0, 0, 0) | Pivot offset (X, Y, Z) — rotation/scale orbit this point |
opacity | Number | 1 | Layer opacity (0 = transparent, 1 = opaque). Editable, wirable, keyframable. |
Gotchas
Octaves, Lacunarity, and Persistence only apply when Fractal Mode is FBM, Turbulence, or Ridge. They are hidden and have no effect when Fractal Mode is None (a single octave of raw noise).
Warp Frequency is independent of the main Frequency. Keep it lower than the base frequency for large, smooth swirls layered over finer base detail, rather than warping noise with itself at the same scale.
Resolution is a window into the infinite field, not a zoom. Raising it reveals more of the pattern at the same feature size (set by Frequency) rather than stretching the existing pattern to fill a bigger canvas.
Turning Rasterize off drops the fixed Resolution and gives the raw procedural field. There is no plane to move or scale at that point, so position the pattern with Offset and Frequency instead of the placement transform.
Worked example
Add a Noise node. Leave Noise Type on Perlin and Fractal Mode on FBM for a layered look.
Raise Frequency for finer detail, or lower it for broad, sweeping shapes.
Raise Warp Amplitude for a swirled, marbled distortion.
Wire Time to your frame number and enable Looping to animate the pattern as a cycle with no visible join.
Turn Monochrome off and set Color A / Color B to map the noise into a two-colour gradient.