What is a Curvature Map and How is it Used in Texturing?
Curvature maps capture the bends and edges of a 3D surface — encoding which areas curve outward and which curve inward. That data is invaluable for adding realistic edge wear, cavity darkening, and dirt accumulation to game assets without painting every detail by hand.
What is a Curvature Map?
A curvature map is a baked texture that measures how curved the surface of a 3D mesh is at each point. It's encoded as a greyscale image where mid-grey (0.5) represents flat areas, white represents convex surfaces (curving outward, like edges and ridges), and black represents concave surfaces (curving inward, like grooves and recesses).
Unlike ambient occlusion maps — which measure how much ambient light reaches a surface — curvature maps specifically capture the geometry's bending. Where edges protrude outward, where surfaces cave inward, and how sharply geometry transitions between directions. That information maps almost perfectly onto how physical wear and environmental effects actually behave on real-world objects.
Concave vs Convex — What Each Value Means
The two halves of a curvature map represent opposite physical situations, each with their own natural texturing implications.
Convex — White areas
Edges, corners, protruding bolts, raised text, sharp ridges. These are the parts of a surface that stick out — the first places to show wear, scratches, and paint chipping in real life. White curvature = exposed, worn, polished.
Concave — Dark areas
Grooves, recesses, screw holes, embossed panel lines, corners between surfaces. These are the places that collect dirt, grime, rust, and cavity shadow. Black curvature = sheltered, accumulated, darkened.
The flat areas of the mesh — broad panels, open surfaces — sit at mid-grey. They're neither wearing at edges nor collecting in recesses. This mid-grey baseline is what makes curvature maps so useful as masks: you can easily isolate just the edges (pull towards white) or just the recesses (pull towards black) with a simple levels adjustment in your texturing tool.
How Curvature is Used in Texturing
Curvature maps are almost never applied directly as a visible texture. They're used as masks — data that drives other effects. Here are the most common ways professional texture artists use them.
Edge wear
Use the convex (white) areas of the curvature map to drive a material reveal — showing bare metal or worn paint on raised edges. Stronger curvature = more wear. This single effect, applied procedurally via the curvature mask, creates the defining visual of a used, aged asset without touching a paintbrush.
Cavity darkening and dirt accumulation
Use the concave (dark) areas to darken recesses and layer dirt or grime color into grooves and panel lines. Multiply a dark brown or grey fill over the albedo, masked by the concave curvature values. The result looks like the asset has been sitting in an environment for years.
Roughness variation
Increase roughness in concave areas — dirt and grime make surfaces rougher. Decrease roughness on convex edges — wear polishes them smooth over time. Drive both changes using the curvature map as the mask. The result is a material that responds to light differently across its geometry, which reads as physically authentic.
Breaking up procedural patterns
Combine curvature with a noise texture to create irregular, natural-looking wear. The curvature defines the zone where wear can appear; the noise breaks it into an organic, uneven pattern rather than a uniform highlight. The combination is the foundation of most professional procedural texturing workflows.
Baking Curvature Maps
One of the most useful properties of curvature maps is that they don't require a high-poly mesh to bake. Unlike normal maps and AO maps which need a high-poly source to capture sculpted detail, curvature maps are calculated directly from the low-poly mesh itself — analysing the angles between adjacent faces and encoding how sharply the surface bends at each point.
This means curvature baking is fast and simple. Even a basic low-poly prop with straightforward geometry will produce useful curvature data, as long as it has some edges and geometric variation to capture.
Curvature baking settings to know
| Setting | What It Controls | Practical Guidance |
|---|---|---|
| Sample radius | How wide an area around each point is sampled to calculate curvature | Smaller radius = sharper, more local curvature. Larger = broader, softer curvature. Start small and increase if edges look too tight. |
| Smoothing | How much the raw curvature output is blurred | A little smoothing prevents harsh pixel-level noise. Too much and the curvature loses its edge definition. |
| Output range | Whether the map encodes only convex, only concave, or both | Full range (both convex and concave in one greyscale map) is the most flexible for masking. Separate passes give more control if you need to treat each independently. |
Using Curvature and AO Together
Curvature and ambient occlusion are complementary maps that build a complete picture of how an asset interacts with light and environment. They're almost always used together in professional workflows.
What AO gives you
Soft shadow in recessed areas, gaps, and surfaces that are close to other geometry. Broad, rounded darkening that simulates where ambient light can't reach. Works across the whole scene.
What Curvature gives you
Sharp edge identification and precise concave/convex zones. Tells you where edges are worn and where dirt collects — based on geometry shape, not light occlusion. Entirely local to the mesh.
A practical combined workflow that professional artists use constantly:
Multiply AO over the albedo
Darkens recesses and gaps with a soft, broad shadow. Adds immediate depth and makes the asset look grounded in its environment.
Add edge wear using convex curvature
Overlay a bright highlight or bare material on raised edges using the white curvature values as a mask. The asset immediately looks used and aged.
Add cavity darkening using concave curvature
Multiply an additional dark layer into grooves and recesses using the dark curvature values. More dirt and depth than AO alone provides.
These three steps combined — before any hand-painting — produce an asset that already looks lived-in and realistic. Every detail painted on top of this foundation reads more convincingly because the basic wear structure is already physically correct.
Curvature in Trumble
Trumble bakes curvature as a standard pass alongside normal, AO, height, and thickness maps. Import your mesh into the Bake tool, run the bake, and the curvature map is generated directly from the low-poly geometry — no high-poly source required for curvature specifically.
Once baked, the curvature map appears as a layer in your texture document and can be used immediately as a mask when painting other channels. Drag the curvature map into the mask slot of a roughness or albedo layer and it drives that layer's effect automatically — edge wear appears exactly where the geometry's edges are, cavity darkening appears exactly in the recesses.
Curvature bakes directly from the low-poly mesh. No high-poly source needed. Fast to calculate even on complex props.
Drag the curvature map into any layer's mask slot to drive edge wear, cavity shading, or roughness variation procedurally.
Curvature exports with the full map pack. Use it in your engine's material for runtime procedural effects or as a baked-in texture influence.