Affine Checker Noise Options
One knob, checkerboard masks
- noise_options
The checker pattern in WAS Affine does exactly what it sounds like: it builds a checkerboard mask, alternating on/off squares, and the affine effect lands only on the bright tiles. Affine Checker Noise Options is about the simplest node in the whole pack - one input, one DICT output.
The knob
- checker_size (default 6) - size of each checker square in pixels. Small values (like the default) give a dense, fine texture; larger values give big obvious tiles.
That's it. Output: a noise_options DICT wired into the noise_options input of Latent Affine, an affine sampler, or Affine Pattern Noise.
When you'd use it
Honestly, a pure checker is a niche mask - it's the pattern you pick when you want a visible, mechanical alternation: test renders to see exactly where the effect lands, stylized "pixel grid" looks, or A/B sanity checks of the affine math itself. The README files it under "geometric patterns," alongside bayer and solid, and suggests geometric masks for architectural/geometric work. Most of the time you'll get more natural results from perlin or a noise pattern, but when you need to see the mask working, a checker makes it unmistakable.
The single knob means there's no real tuning curve: set a size, wire it, preview the mask output from Latent Affine, done. If you want checker squares with softened edges, add blur via the common options - that combination is how you get from "hard grid" to "subtle grid," which is usually the look people are actually after.
Installing
Part of WAS Affine by WASasquatch. ComfyUI Manager → Install Custom Nodes → search "WAS Affine" → install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/WASasquatch/was_affine
Restart ComfyUI. ComfyUI 1.0.0+, torch and numpy.
Common issues
The one trap: a hard checker at large sizes leaves zero-falloff edges, and in latent space that can produce visible tile boundaries in the output. If you see a grid in your image that you didn't ask for, that's the mask showing through - shrink checker_size and/or blur it in the common options. And as always, the node is inert until its DICT is connected.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| checker_size | INT | 62–256 | Size of each checker square in pixels. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| noise_options | DICT | — |