Procedural texturing is easiest to understand as a recipe. A conventional bitmap says, "these are the pixels." A procedural material says, "these are the rules that produce the pixels." The second approach becomes valuable when a team needs ten related walls, three wear levels, and a last-minute color change without repainting every file.
The word procedural does not mean uncontrolled. The best production graphs are deliberately boring in one respect: the same inputs produce the same output, named parameters have predictable effects, and a saved preset can be rebuilt months later.
What belongs in a procedural material?
A useful graph separates material identity from variation. Brick spacing, mortar depth, wood grain direction, weave density, and metal-versus-dielectric regions define what the material is. Dirt amount, edge wear, hue drift, and patch placement can vary without turning oak into concrete.
| Layer | Typical controls | Question it answers |
| Structure | Pattern size, joint width, plank direction | What is the surface made from? |
| Relief | Height range, bevel width, crack depth | Which forms should affect light? |
| Material response | Roughness range, metal mask | How does the surface reflect? |
| History | Wear, dirt, leaks, fading | What happened to the surface? |
| Variation | Seed, palette, patch scale | How do copies avoid looking cloned? |
Adobe describes Substance materials as parametric rather than static, with author-selected controls that remain adjustable in applications using the Substance engine. That is a helpful model even when a pipeline uses different software: expose only controls that another artist can understand and test.
Randomness needs a fence
Unbounded random noise is excellent at making soup. Production variation needs limits. A brick seed may change which units are darker, but should not alter the brick dimensions. A worn-metal preset may move scratches, but the metalness mask should still distinguish bare metal from paint.
Give every random operation a stored seed. Then name approved combinations as presets such as Factory Floor - Clean, Factory Floor - Used, and Factory Floor - Flooded. A bug report can refer to a preset and seed instead of the wonderfully vague phrase "the rusty one that looked wrong yesterday."
Build at the scale players will see
Procedural graphs often look convincing in a close-up and repetitive across a room. Test three scales:
- Texel scale: Are fine scratches and pores sharp enough after compression?
- Object scale: Do bevels, joints, and stains make sense on the prop?
- Scene scale: Does a 10-by-10 tiled wall reveal a repeated blotch or obvious diagonal?
Physical scale should be a first-class parameter. A crack that is two centimeters wide on a road should not become a two-centimeter canyon on a coffee mug because both assets sampled the same graph at the same UV scale.
Separate authoring maps from delivery maps
A graph may keep height, curvature, masks, and intermediate noises as editable data. The target engine usually needs a smaller set of baked textures. The glTF 2.0 metallic-roughness model, for example, packs roughness into the green channel and metallic into blue. Unity and Unreal projects may use different channel layouts and normal-map conventions.
Treat export as a named recipe. An export recipe should record map suffixes, channel packing, normal orientation, bit depth, resolution, and whether each file contains color or numeric data. Base color normally receives color-space conversion. Roughness, metallic, normal, height, and masks should be treated as data.
Where photographs and AI fit
A photograph can supply believable color variation. An AI generator can supply a fast visual direction. Neither source automatically knows the material's physical scale or which dark patch is pigment, shadow, or a hole. Use generated imagery as an input layer, then rebuild the important material logic around it.
Adobe Sampler's Image to Material workflow makes the same division visible: an image starts the material, while parameters and later corrections shape the channel outputs. In PLAYTEX AI, an image can begin in the AI Texture Generator or arrive directly in the PBR Map Generator. The useful question is not which button made it. The useful question is whether the exported maps still agree under new lighting.
A compact validation bench
- Tile the material at 2-by-2 and 8-by-8 on a plane.
- Apply it to a sphere to expose roughness and normal discontinuities.
- Apply it to one representative production mesh to test UV scale and seams.
- Rotate a hard light to reveal normal direction and exaggerated relief.
- Use a broad environment light to judge roughness and metal response.
- Inspect the compressed, mipmapped engine asset from gameplay distance.
A procedural material earns its place when it reduces repeated work without hiding decisions. Keep the controls few, the seeds reproducible, the export rules explicit, and the test scene close at hand. That turns a clever node graph into a pipeline tool.