Print view · Noise · 1 pageChoose "Save as PDF" as the destination in the print dialog.
Back to the docs

Mesh Morpher documentation

Noise

1 page · exported 2026-09-06 · https://meshmorpher.com/docs/studio-and-graph/geometry/wrangle/noise

Studio and Graph › Geometry › Wrangle

Noise

Deterministic simplex noise: the same input gives the same value on every run and every machine.

Part of the Wrangle reference. Everything on this page goes in the node's Code field, and runs once per element of the current Run Over mode.

Syntax What it does Example
noise(p) or noise(x, y, z) Scalar simplex noise, range about [-1, 1]. The two spellings are the same function. Coordinates are in cm, so scale P down before sampling. wmap("Weights") = noise(P * 0.05)
noise (seeded) noise(p, seed) or noise(x, y, z, seed) Same as noise(), with an explicit seed so two calls at the same point give different fields. seed 0 is bit-identical to the unseeded form. wmap("Weights") = noise(P * 0.05, layer)
vnoise(p) Three decorrelated simplex samples as a vector; each component is about [-1, 1]. Use it to push points in a direction rather than along one axis. P += vnoise(P * 0.02) * 3
vnoise (seeded) vnoise(p, seed) Same as vnoise(), seed-offset the same way. seed 0 is bit-identical to the unseeded form. P += vnoise(P * 0.02, layer) * 3
curlnoise(p) A divergence-free vector field (the standard "curl noise" construction), built from central differences of vnoise. Useful for swirly motion that never converges to a point or drains into one. P += curlnoise(P * 0.02) * 2
curlnoise (seeded) curlnoise(p, seed) Same construction, seed-offset. P += curlnoise(P * 0.02, layer) * 2
cellular(p) Euclidean distance from p to the nearest cellular feature point. 0 on a feature point, rising to roughly 1 between them. Not normalised - put a fit() after it if you need a fixed range. wmap("Weights") = saturate(cellular(P * 0.1))
fbm(p, octaves) Fractal sum of simplex octaves, normalised to about [-1, 1]. Lacunarity 2, gain 0.5. wmap("Weights") = fbm(P * 0.02, 5)
fbm(p, octaves, lacunarity, gain) The full form. Lacunarity is the frequency step per octave, gain the amplitude step. wmap("Weights") = fbm(P * 0.02, 6, 2.5, 0.4)
fbm (seeded) fbm(p, octaves, lacunarity, gain, seed) The full form with an explicit seed, so two fbm() layers at the same point give different fields. seed 0 is bit-identical to the unseeded form. wmap("Weights") = fbm(P * 0.02, 6, 2.5, 0.4, layer)
octave clamp octaves is clamped to 1..32 and the clamp is counted and reported. One fbm() call is a single step whatever its octave count, so an unclamped count would escape the per-element step budget. Same clamp applies to ridged(). wmap("Weights") = fbm(P, 100) // clamped to 32, reported
ridged(p) Musgrave ridged multifractal noise, range about [-1, 1] like fbm() but shaped as sharp ridges near 1 instead of a smooth hump - good for mountain-like detail. Defaults: 6 octaves, lacunarity 2, gain 0.5. wmap("Weights") = ridged(P * 0.02)
ridged(p, octaves, lacunarity, gain) The full form, same parameter meanings as fbm's full form. wmap("Weights") = ridged(P * 0.02, 6, 2.2, 0.6)
ridged (seeded) ridged(p, octaves, lacunarity, gain, seed) The full form with an explicit seed, same relationship to the unseeded form that fbm's seeded overload has. wmap("Weights") = ridged(P * 0.02, 6, 2.2, 0.6, layer)