Masks & generators
A mask controls where a layer shows. Paint it by hand, or drive it procedurally with generators and filters — for instant edge wear, cavity dirt, and more.
Mask basics
Adding a mask
Add a mask to any layer. The mask is grayscale: white shows the layer, black hides it, grays are partial.
- Black mask — starts fully hidden; reveal by painting white or with a generator. Good for adding detail to specific spots.
- White mask — starts fully shown; carve away with black.
The mask stack
A mask isn't just one image — it's a small stack of entries evaluated top-to-bottom, so you can combine procedural and hand-painted input:
| Entry | What it adds |
|---|---|
| Paint | Hand-painted grayscale (brush / fill directly on the mask). |
| Fill | Drive the mask from a single bake or image — drag it onto the source box (✕ to clear). The mask's simplest source; added via Add Generator ▸ Fill. |
| Generator | A procedural mask from the mesh — see Generators. |
| Filter | Adjusts the result so far — see Filters. |
| Anchor | Marks a point in the stack that other entries can reference (advanced). |
Generators
Generators build a mask procedurally from your mesh and its baked maps — so edge wear, cavity dirt, and dust appear automatically. Most read a baked map, so bake first.
| Generator | What it masks | Reads |
|---|---|---|
| Curvature Wear | Exposed edges and peaks — for edge wear, chipping, scratches. | Curvature bake |
| AO Cavity | Crevices and recesses — for grime in cavities. | AO bake |
| Thickness | Thin vs. thick areas — e.g. wear that favours thin edges. | Thickness bake |
| Slope | Faces by their angle to a reference axis — e.g. dust on upward-facing surfaces. | World-normal bake |
| Position | World-space position — e.g. a height-based gradient. | Position bake |
| Light | A mask from a freely-aimed virtual light (azimuth + elevation) — top-down dust, directional wear. | World-normal bake |
| Color Selection | Reveal areas whose ID-map colour matches a picked colour (within a tolerance). | ID map bake |
| Fill | Use any baked map or imported image as the mask — drag it onto the source box (✕ to clear), with a tiling/rotation transform plus gain/offset/invert. This is the mask's single-source fill. | chosen source |
Filters
A filter adjusts whatever is below it in the stack — use them to refine a mask (or colour content).
| Filter | What it does | Available on |
|---|---|---|
| Levels | Remap black/white points and gamma — tighten, soften, or invert the range. | Masks & colour |
| Blur | Soften the mask. The surface blur is seam-aware (no UV-seam artifacts). | Masks |
| Sharpen | Boost local contrast / crisp up edges. | Masks |
| HSL | Hue / Saturation / Lightness adjust, for colour content. | Colour |
| Kuwahara | Painterly, edge-preserving smoothing. | Colour |
On a grayscale mask, an HSL filter has no hue or saturation to act on, so it collapses to a brightness-and-contrast adjustment (the Lightness slider brightens or darkens). This is why HSL is offered on colour content rather than masks.