Nodes/ComfyUI-NKD-Basic-Tools/😺NKD Noise
ComfyUI Node

😺NKD Noise

Fractal noise for clouds, fog and smoke — image and mask, loopable

By Nekodificador·Created about a month ago·Updated 3 days ago· 71
😺NKD Noise
  • mask
  • image
  • mask
â—„width1024â–º
â—„height1024â–º
â—„frames1â–º
â—„scale6.0â–º
â—„detail4â–º
â—„roughness0.50â–º
â—„lacunarity2.00â–º
â—„distortion0.00â–º
â—„contrast1.00â–º
â—„brightness0.00â–º
â—„evolution0.0â–º
â—„loopfalseâ–º
â—„offset_x0.0â–º
â—„offset_y0.0â–º
â—„seed0â–º

Plain random noise is static - it reads as TV snow, not atmosphere. What clouds, fog, smoke and organic textures want is structured noise: big soft features with finer detail layered on top, which is exactly what fractal Brownian motion (fBm) produces. 😺NKD Noise generates fBm procedurally as an image and a mask, and - the part that makes it more than a texture generator - it animates over a frame batch and loops seamlessly.

The knobs

The fBm vocabulary is standard, and the defaults are sane places to start:

  • scale - feature count across the frame; higher = smaller, busier features. 6 is a middle-of-the-road cloud-like setting.
  • detail - fractal octaves; more = finer detail. 4 is a good balance.
  • roughness - how much each finer octave contributes. 0.5 is neutral; higher roughens, lower smooths.
  • lacunarity - the frequency step between octaves. 2 is the classic value.
  • distortion - domain warp; swirls the pattern for an organic look. This is the knob that turns "clouds" into "smoke."
  • contrast / brightness - shape the output's tonal range.
  • offset_x / offset_y - pan the field.
  • seed - same seed, same field.

The animation trio is where it gets interesting: frames sets the batch length (>1 makes an animated sequence), evolution moves the field across frames (the 4D time dimension), and loop makes the last frame flow back into the first over frames - a seamless loop, which is what you want for a background fog that cycles without a visible jump.

The optional mask input confines the noise to a region, feathered by its values.

Outputs

image - the noise as a grayscale image. And mask, which is the same field as a mask. Both, because the two uses rarely overlap: an image you composite over a scene as atmosphere, a mask you use to drive something else (a gradient map, a composite weight, a paint-in region). The author's own suggestion is to feed the output into 😺NKD Gradient Map to tint it - the fBm field becomes the brightness structure, and the ramp becomes the color, which gives you tinted fog or a colored smoke plume without any sampling.

Install and gotchas

Install via ComfyUI Manager (search ComfyUI-NKD-Basic-Tools) or:

cd ComfyUI/custom_nodes
git clone https://github.com/Nekodificador/ComfyUI-NKD-Basic-Tools

Restart after. Pack dependencies are onnxruntime and huggingface_hub; neither is needed here - this node is pure CPU math, no model, no download. The one thing that trips people up is scale intuition: scale is inverse (higher = smaller features), so if you expect big clouds and get grit, move scale down, not up. And loop only does its thing when frames > 1 - a single frame is trivially seamless and the setting is a no-op.

Category😺NKD Nodes/Basic

Inputs (16)

NameTypeDefaultDescription
widthINT10248–8192—
heightINT10248–8192—
framesINT11–1000Batch length. >1 makes an animated sequence.
scaleFLOAT6.00.5–64Feature count across the frame — higher = smaller, busier features.
detailINT41–8Fractal octaves — more = finer detail.
roughnessFLOAT0.500–1How much each finer octave contributes.
lacunarityFLOAT2.001–4Frequency step between octaves.
distortionFLOAT0.000–10Domain warp — swirls the pattern for an organic look.
contrastFLOAT1.000–4—
brightnessFLOAT0.00-1–1—
evolutionFLOAT0.00–100Animation speed — evolves the field across frames (the 4D time dimension).
loopBOOLEANfalseSeamless loop: the last frame flows back into the first over `frames`.
offset_xFLOAT0.0-100–100—
offset_yFLOAT0.0-100–100—
seedINT00–18446744073709550000—
maskoptMASKOptional — confine the noise to the mask, feathered by its values.

Outputs (2)

NameTypeDescription
imageIMAGEThe noise as a grayscale image.
maskMASKThe noise as a mask.