Procedural Noise Generator
Perlin, voronoi, and everything between
- noise
Every procedural texture starts with noise. Roughness variation, dirt distribution, height map wobble - the map that makes a surface look organic instead of flat is usually just noise with the right character. Procedural Noise Generator is the node that hands you that character on demand: six noise types, seeded, tileable, and resolution-controlled, with no image needed on the input side.
It's the sibling of the pack's Pattern Generator - one makes structure, the other makes texture. Combined they're a solid base for roughness maps, height fields, and masks without ever loading a file.
How it works
Six types, each with a distinct flavor:
- perlin - smooth, cloud-like gradients. The default vibe for "natural variation."
- fbm - fractional Brownian motion: layered perlin with octaves. More structured, more organic.
- turbulence - fbm with the noise folded at zero, producing sharp "fractal fire" ridges. Great for veins, cracks, and stone.
- voronoi - nearest-point distance cells. Your go-to for cracked mud, tiles, or stone slabs.
- cellular - the second-nearest distance field, giving the organic "jellyfish cell" look.
- white - pure random per pixel. Mostly useful for grain or as a debug input.
The controls are the standard noise toolkit: scale (frequency), octaves (detail layers), persistence (how fast amplitude drops per octave), lacunarity (how fast frequency rises), tileable (on by default - keep it on if you're building repeating textures), and seed. Output is a single noise IMAGE, grayscale replicated to RGB.
What actually matters
For most texture work you only need two knobs: scale and seed. Lower scale = bigger features, higher = finer grain. The octaves/persistence/lacunarity trio is where you go when perlin alone is too smooth - crank octaves to 6+ for rich detail, and switch to turbulence when you want hard, ridged edges instead of soft blobs. If you want a seamless noise field (you usually do), keep tileable on.
Two honest caveats. First, voronoi and cellular compute against every cell point directly, so at high resolutions or tiny scale they're noticeably slower than the perlin family - fine at 512, sluggish at 4096. Second, this is noise generation, not a magic texture maker: it's a base layer you'll blend, mask, or run through a color ramp. Pair it with the pack's Multi-Texture Blender or a roughness map and it earns its keep.
Installation
Ships in amtarr/ComfyUI-TextureAlchemy under Add Node → Texture Alchemist → Procedural. Install via ComfyUI Manager (search "TextureAlchemy") or:
cd ComfyUI/custom_nodes
git clone https://github.com/amtarr/ComfyUI-TextureAlchemy
Restart ComfyUI. No dependencies - pure torch math, instant results.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| width | INT | 51264–8192 | — |
| height | INT | 51264–8192 | — |
| noise_type | COMBO | 6 options: perlin, fbm, turbulence, voronoi, cellular, white | |
| scale | FLOAT | 501–500 | Noise scale/frequency |
| octaves | INT | 41–8 | Number of detail levels |
| persistence | FLOAT | 0.500–1 | Amplitude falloff per octave |
| lacunarity | FLOAT | 2.01–4 | Frequency multiplier per octave |
| tileable | BOOLEAN | true | — |
| seed | INT | 00–18446744073709550000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| noise | IMAGE | — |