Hey Polycount,
Just released the latest version of Smart Material Painter, a layer-based PBR material system for Blender that builds fully procedural, geometry-aware materials without touching a texture or UV map.
What it does
You stack layers (rust, edge wear, dirt, scratches, wetness, image textures, etc.) and the addon builds a complete Cycles/EEVEE shader node tree for you. Each layer can carry its own Color, Roughness, Metallic, Normal, Anisotropy, IOR, and SSS values. Blend modes per layer: Mix, Multiply, Add, Overlay.
The key feature is the Smart Mask system, masks are generated from actual geometry data (edge curvature, cavity, height, surface normal angle) rather than painted or baked textures. So rust really settles in crevices, edge wear actually hits the convex geometry, and dirt collects in the low areas. Works on any mesh out of the box.
Layer types
Fill / Color (base with noise variation)
Rust / Patina (Voronoi cellular)
Dirt / Grunge (noise accumulation)
Edge Wear (geometry-aware, convex edges)
Scratches (wave texture, directional)
Wetness (IOR → 1.33, physically correct)
Image Texture (drops in real PBR maps: Color/Rough/Metal/Normal, with UV or triplanar coords)
Smart Mask presets
Rust in Crevices
Heavy Edge Wear
Dirt in Low Areas
Scratches on Convex
Wet Pools
20 built-in material presets across metals, stone/concrete, and organics Rusted Iron, Brushed Aluminum, Aged Copper, Dirty Concrete, Marble, Weathered Wood, Wet Asphalt, and more. Useful as starting points or for quick scene dressing.
Global controls
Global Scale — texture coordinate scale for the whole stack
Global Seed — randomizes all procedural patterns per object (great for instanced props)
Roughness Variation — micro-scale noise across the whole surface
Displacement — micro-displacement strength (Cycles + Adaptive Subdivision only)
Happy to answer questions or share more on how the geometry masking works.