Wear & Edge Damage Generator
The node that only works if you feed it the right maps
- albedo
- curvature
- ao
- worn_albedo
- wear_mask
New-looking materials are the easiest way to tell that something is game art rather than a real object. Real things accumulate wear: edges get knocked and scraped, crevices collect dirt, and sunlight and handling fade the high points. Wear & Edge Damage Generator is the pack's tool for that weathering pass - it takes an albedo and darkens the edges (wear) and the crevices (dirt) so a material reads as used instead of fresh off the production line.
Here's the catch you need to hear before anything else: this node does almost nothing if you feed it only an albedo. Its two signature effects both depend on the optional inputs - edge wear needs a curvature map, and dirt needs an ao map. Without either connected, the wear mask is computed as empty, the albedo passes through essentially unchanged, and you'll sit there wondering why "wear_strength: 0.7" isn't doing anything. The tooltips admit as much ("needs curvature or height", "needs AO"), but it's easy to miss when you're staring at a graph. This is a node that expects to be the last step of a chain, not a standalone effect.
How it works
The node builds a wear mask from two ingredients:
- curvature (optional) - highlights edges and creases. Added to the mask weighted by
edge_wear, this produces the "rubbed on the edges" damage. - ao (optional) - inverted, so dark cavities become dirt. Weighted by
dirt_strength.
The combined mask is scaled by wear_strength, then the albedo is multiplied by (1 − mask × 0.5), i.e. worn areas darken up to about half. It's a darken-only weathering - it won't repaint or add texture, just knock the brightness down where the mask says to.
Outputs: worn_albedo (the weathered material) and wear_mask (a grayscale map of where wear landed, handy for previewing or for driving other effects).
The workflow it's meant for
The pack's own docs show the pairing: run your normal or height map through the Curvature Map Generator (same pack, Effects category), feed that into curvature, and your AO into ao. Then dial edge_wear to 0.7-ish for scuffed corners, dirt_strength to 0.3-ish for grime in the joints, and keep wear_strength moderate - it multiplies everything, so too much makes the whole surface look smoked rather than worn.
Inputs
- albedo - the material to weather.
- wear_strength (0–1, default 0.5) - global multiplier on the whole wear mask.
- edge_wear (0–1, default 0.7) - how strongly curvature drives edge damage.
- dirt_strength (0–1, default 0.3) - how strongly inverted AO drives crevice dirt.
- curvature / ao (optional) - the maps that actually make it work.
Installing it
WearGenerator is part of ComfyUI-TextureAlchemy. ComfyUI Manager → search "Texture Alchemy" → install → restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/amtarr/ComfyUI-TextureAlchemy
# restart ComfyUI
No extra pip dependencies, no model downloads - pure PyTorch. Under Add Node → Texture Alchemist → Effects. (The README's copy-the-ComfyUI_PBR_MaterialProcessor-folder note is a pre-rebrand leftover - use Manager or git clone.)
The honest summary
As a one-node weather machine it's lightweight and darkens rather than adds - if you want full damage (scratches, chips, repainted patches), you'll layer other tools on top. But for the 80% case - a painted-metal or masonry albedo that just needs to look like it's seen some use - feeding it a curvature map and an AO is a fast, free, and surprisingly convincing pass. Just remember the dependency, because "why isn't this doing anything" is the number one support question this node generates.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| albedo | IMAGE | — | |
| wear_strength | FLOAT | 0.500–1 | Overall wear intensity |
| edge_wear | FLOAT | 0.700–1 | Wear on edges (needs curvature or height) |
| dirt_strength | FLOAT | 0.300–1 | Dirt accumulation in crevices |
| curvatureopt | IMAGE | — | |
| aoopt | IMAGE | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| worn_albedo | IMAGE | — |
| wear_mask | IMAGE | — |