Mesh maps and scene fields
Bake mesh maps, diagnose geometry with Bake Doctor, paint regional corrections, and use live scene fields and analysis.
On this page 9 sections
Mesh-aware effects — edge wear, cavity dirt, dust, rust streaks — need to know the shape of the model. Open Painter gets that information two ways: baked mesh maps, computed with Cycles or geometry analysis and stored as images, and live scene fields, analysed in the background from the evaluated scene as it changes. Smart materials tell you which maps they need before they add anything.
Baking mesh maps
- Click Bake Mesh Maps in the tool header to open the Bake tab.
- In Setup, check targets, resolution and margin. Add high-poly sources with Add Selected, or disable Bake from High Poly for a target-only bake.
- Set matching, projection distance and cage options when baking from high poly.
- In Maps, select maps and expand their rows for method, sampling and distance settings. The material reads lists the maps the material needs; Select selects them.
- Run Bake Selected Maps. Stop After This Map finishes the current map before stopping.
- In Results, inspect maps and findings, use the 2D view buttons, and optionally click Add Baked Normal and AO Layer. Generator maps are registered when they finish baking.
Map states are Missing, Up to Date, Out of Date, Baking, Failed or Not Checked. Results distinguish completed, failed and skipped maps; a failed rebake keeps the previous image. The queue stays bound to the set it started on. Cycles maps use CPU and individual bakes are synchronous; utility maps also use geometry analysis. Render UVs must remain in the 0–1 tile. Hidden high-poly sources are temporarily made available and then restored.
| Map | Used by |
|---|---|
| Normal | The Normal channel; edge and cavity generators when combined with height. |
| AO | Cavity dirt, grime, patina, oil and most recess effects. |
| Curvature | Sharp crease lines plus smooth convex target-mesh features within Curvature Radius. Drives Edge Wear, Chips and edge effects; old crease-only maps need rebaking. |
| Position | World height for downward streaks, leakage and runoff. |
| World / Object Normal | Dust and other orientation effects (dust reads baked world-normal Z). |
| Material ID / Object ID | Region masks by slot or object. |
| UV Island / UV Border | Island-based breakup and border falloff. |
| Thickness | Actual ray intersections at a chosen sampling grid. |
| Mean Curvature | Signed and smooth (0.5 flat, convex above, concave below); shares Curvature Radius. |
| Selected Faces | Snapshots the current face selection as a mask source; Reselect Baked Faces restores it. |
| Bevel Mask / Bevel Normal | Bake Mesh Maps › Bevel Maps, radius = band width. Feeds Damaged Bevel and Rounded Edges surface effects, and works in EEVEE because Cycles' Bevel/AO nodes are baked, not evaluated per frame. |
Bake settings include AO Distance and 2x Supersample, which is refused above 2 GiB of bake memory. The edge map bakes as four reaches from one Curvature Radius so that Edge Size on every Edge Wear or Chips mask can blend between them without a rebake; see edge wear.
Bake Doctor and Bake Check
Bake Check runs before every bake: errors stop it, while warnings remain visible. It checks UV validity, normals, scale, low/high naming, duplicate vertices, viewport/render modifier differences, cage intersections and missing seam flags. Full Check adds sampled cage-ray coverage.
Click a finding to select its faces, vertices, edges or objects. This only changes selection; topology-changing render modifiers can prevent selection of evaluated indices on the original mesh.
Bake Correction Brush
Under Bake Corrections, choose a correction and use Bake Correction Brush to paint it without changing the layer stack. The corrected cage is shown as a wire overlay.
| Correction | Effect |
|---|---|
| Projection Distance | Adds a signed local distance to cage extrusion; middle gray is neutral. |
| Skew Correction | Blends rays from the smooth normal toward the dominant adjacent face normal. |
| Projection Direction | Blends rays toward a chosen direction. |
| Ignore High Poly | Excludes sources marked Ignore Brush Excludes in painted regions. |
| AO Exclusion | Uses the part's own occluders in painted regions. |
Rebake Painted Region After Stroke updates the painted region when a stroke ends. Rebake Region, Rebake All and Clear are explicit alternatives. Distance, skew and direction corrections sample at cage vertices; seam vertices average their islands. Corrections also apply over a custom cage and mark affected maps out of date until rebaked.
Inspect Bake Setup
Bake Mesh Maps › Inspect Bake Setup checks assignments, scale, cages and the evaluated render UVs of every object in the set for degenerate faces, faces outside the 0–1 tile and exact UV overlaps. Partial overlaps are warnings; stacked or mirrored islands are informational because symmetric assets stack them deliberately. With Bake from High Poly on, it also samples cage rays and reports the missed fraction as an estimate. Select Problem Faces selects the reported faces on their base meshes when no modifier changes the face count. Nothing else is modified.
When to rebake
- After moving or deforming geometry that dust, position or curvature effects read.
- After changing Minimum Edge Angle, Edge Width (px) or Curvature Radius.
- Automatically: Auto-rebake Edge Maps (off by default) rebakes the edge set in the background two seconds after a target mesh's geometry changes. Transforms never trigger it.
Live scene fields
A scene field is a mask source that reads the actual scene: which way a face points, how far it is from other objects, how high it sits, how convex the mesh is right now. The analysis is live and cooperative. Move a bolt and the rust follows; bevel an edge and the wear widens — with no bake and no frozen UI.
Select a mask, choose Scene as its source, then pick a preset or a kind. Every kind has a Falloff (Linear, Smooth, Squared, Root) applied when the field is sampled, and an Analysis Resolution up to 1024 (object queries up to 512).
| Kind | Reads |
|---|---|
| Upward / Downward Orientation | World normal against a direction. |
| Relative Height / World Height | Position along a direction, relative to an object's origin or absolute. |
| Distance to Ground | 1 at the ground plane (world Z = 0 or the Ground object), 0 at Distance above it. |
| Object Distance / Contact Proximity | Nearest distance to the influencers, normalised by Distance. |
| Proximity | 1 at an influencer, 0 at its radius — Distance by default, or a per-object open_painter_field_radius property. |
| Directional Exposure | 1 where a ray along the direction is free within Distance. |
| Radial Heat / Moisture / Directional Soot | Radial falloff from an object's origin. |
| Convexity / Concavity (live) | Signed turning density of the evaluated mesh within Reach, relative to the surface's baseline. |
| Edge Exposure (live) | Convexity plus crease lines above the bake settings' crease angle. |
| Named Attribute / Vertex Group | A mesh attribute rasterised through the UVs. |
Influencers for the query kinds are a chosen object or collection, or Every Other Mesh: every visible mesh in the scene except this set's targets, generated helpers and an Exclude collection, capped by Max Objects. Adding a bolt to the scene therefore re-triggers the field.
Presets in the mask properties — Dirt in crevices near other parts, Radial rust from bolts, Ground mud, Live edge exposure — are ordinary stacked masks. The Lighten (Max) and Darken (Min) combine modes act as OR and AND of fields, and every term's levels, invert, strength and falloff stay live.
Live edges without a bake
Edge Wear and Chips masks have Edges From: Baked Edge Maps or Live Geometry. Live edges are an Edge Exposure field on the mask's own influence, so a bevel modifier, an edge loop or a mesh edit changes the wear as soon as the analysis republishes. Live values are not identical to the baked map: the baked kernel integrates over a physical radius in texel space, the live analysis measures per vertex and subtracts the surface's baseline, so a sphere reads flat and a six-quad cube reads its creases only. Dense meshes read the same bands either way.
Contact history, strain and cut faces
Sample Contact History on a Contact scene field samples an explicit frame range. Rest-State Strain on attribute fields or mesh masks compares with a chosen rest mesh. Mark Selected Cut Faces writes a maskable attribute from selected faces. Each action names its input and output so you can use the result in an attribute field or mesh mask.
Resource inspection is under Performance Inventory; mesh LOD staging is under Export › Prepare Export.
How it stays responsive
A live field whose inputs changed is requested, not computed: evaluation keeps sampling the last published result. Once the inputs have been quiet for 150 ms and no target is in edit mode, the scheduler runs one analysis per scene in small strips, shows Analysing <mask>… N% in the status line and publishes atomically. A job whose inputs changed underneath it never publishes. Update Analysis computes on demand and Freeze stores a portable image for a smart material or geometry effect.
Scene fields are artistic approximations, not fluid-flow or corrosion predictions. Bake correction details are in Bake Doctor. Full details are in docs/scene-fields.md.