Texture Crackle Field
Texture Crackle Field breaks the surface procedurally
- image
- mask
- crackle_info
Cracked earth, crazed ceramic glaze, the dried riverbed, the shattered surface of old paint - nature loves a crackle pattern and texture artists spend real time making one that tiles. x1TextureCrackleField generates it in one shot: a procedural field of plates separated by cracks, tileable and resolution-independent, with enough control to go from subtle glaze crazing to dramatic desert mud. It's a generator node - no image input, just a settings blob.
How it works
It builds a field of polygonal plates using a procedural cell approach, then carves the crack network out of the boundaries between plates. plate_scale_px (134px) sets the average plate size - the smaller the plates, the finer the crack network. pattern_mode picks the character: plates (the default, broad flat plates separated by dark cracks - cracked mud or old tile), cracks (the crack lines emphasized over the plates, almost a pure web of fractures), and mud (smaller, more organic mud-dry flakes).
crack_width (0.18) is how thick the dark crack lines are - the single most important visual knob. plate_variation (0.42) controls how irregular the plate shapes are: low gives regular tiled shards, high gives the jagged, organic fractures of real drying mud. relief (0.54) adds depth to the plates - a bevel-like shading that makes the cracks read as actual relief instead of flat lines. contrast/balance shape the tonal range and seed rerolls the whole fracture layout, which matters because this is the node you'll reroll the most looking for that one great crack distribution.
The inputs that matter
Everything lives in a settings_json string, prefilled:
width/height(1024) - output resolution.pattern_mode-plates,cracks, ormud.plate_scale_px(134) - plate size / crack density.crack_width(0.18) - crack thickness.plate_variation(0.42) - regular vs jagged.relief(0.54) - depth shading on the plates.seed(151) - reroll the crack network.
Outputs are image, mask, and crackle_info.
Installing it
Part of the MKRShift Nodes pack. ComfyUI Manager: search "MKRShift", install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/criskb/MKRShift_Nodes
Restart after. No models - instant procedural math.
Gotchas
The mask output is genuinely the most useful socket here: wire it into a roughness map and you get cracked-surface relief without generating a separate height field - the cracks read as dirt-filled grooves in the renderer. And a workflow tip: this is a texture generator, so its output feeds naturally into the pack's processing nodes - run it through x1TextureAlbedoSafe if you're mixing it into a PBR set, or multiply it over a base albedo rather than replacing it. Keep crack_width modest on small renders; 0.18 looks great at 1024px and starts to read as a filter artifact if you upscale a low-res result.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| settings_json | STRING | {"width":1024,"height":1024,"pattern_mode":"plates","plate_scale_px":134.0,"crack_width":0.18,"plate_variation":0.42,"relief":0.54,"contrast":1.16,"balance":0.0,"invert":false,"seed":151} | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| mask | MASK | — |
| crackle_info | STRING | — |