Baking Maps in the Browser
Baking transfers surface detail from a high-poly mesh onto texture maps that a low-poly mesh can use at runtime. Trumble's Bake tool lets you generate Normal, AO, Curvature, Position, and Thickness maps entirely in the browser — no offline renderer, no plugins.
What is Baking?
Baking is the process of transferring geometric detail from one mesh onto a 2D texture map. You sculpt or model fine surface detail on a high-poly mesh, then project it onto the UV layout of a low-poly mesh that your game engine can actually run in real time.
The result is a set of maps — most commonly a Normal map — that make the low-poly mesh look like it has the detail of the high-poly version, without the polygon cost.
Set Up Your Meshes
Good results start with well-prepared meshes. Before baking, make sure both your low-poly and high-poly meshes meet these requirements.
| Requirement | Low Poly | High Poly |
|---|---|---|
| File format | .obj or .glb |
.obj or .glb |
| UV map | Required — must have a clean, non-overlapping UV unwrap | Not required |
| Scale | Must match the high poly in world scale | Must match the low poly in world scale |
| Normals | Should face outward; recalculate before export | Should face outward |
| Origin | Centered at world origin (0, 0, 0) recommended | Same origin as low poly |
Configure the Bake
Open the Bake panel from the top toolbar. All bake settings live in a single dialog. Here's what each option does.
- Click the Bake tool in the top toolbar to open the bake panel.
- Under Output Resolution, select the pixel size for your baked maps.
2048covers most game assets; use4096for hero props. - Set Dilation — this expands each map's UV island edges outward by that many pixels to prevent seams at island borders.
16–32pxis a safe default. - Under Channel Maps, tick the maps you want to bake. You can bake multiple maps in a single pass.
- Load your low-poly mesh using the mesh selector. This is the mesh whose UV layout the maps will be baked onto.
- Optionally load a high-poly mesh if you want Normal map detail projected from it.
- Adjust Projection Settings if needed (see table below), then bake.
| Setting | What it does | Recommended |
|---|---|---|
| Max Front Distance | How far in front of the low-poly surface to search for the high-poly hit | 0.1–0.3 — increase if high poly detail is not being captured |
| Max Back Distance | How far behind the low-poly surface to search | 0.1–0.3 — should match front distance |
| Soften Strength | Blurs the baked result slightly to reduce pixel-level noise | 10–20% for a clean result; 0 for raw output |
| AO Quality | Number of ray samples used for ambient occlusion. Higher = less noise, slower bake | 40–60% for most assets |
| AO Reach | How far AO rays travel. Larger reach = broader, softer shadows | 20–30% |
| Ignore Back Faces | Prevents interior geometry from casting AO or being projected onto the bake | On for most character and prop work |
| Average Normals | Smooths hard normal seams at UV island borders | On for organic shapes; off for hard-surface/mechanical |
Map Types Explained
Trumble can bake six different map types in a single pass. Here's what each one is for and when to use it.
Encodes surface direction as RGB color. Fakes lighting detail from the high-poly onto the low-poly at no poly cost. The most commonly baked map.
Like a normal map but in world space instead of tangent space. Used for some stylized shaders and matcap rendering in engines.
Grayscale map showing where ambient light is blocked by nearby geometry. White = open, Black = occluded. Adds depth and contact shadow.
White on convex edges, black on concave creases. Essential for masking edge wear, dust, and rust in the Texture tool's material layers.
Stores the XYZ world position of each surface point as RGB. Used for gradient-based masking and some procedural material effects.
Measures how "solid" the mesh is at each point. Thin areas are white. Used for subsurface scattering (skin, leaves, wax) in PBR materials.
Run the Bake
With your meshes loaded and settings configured, you're ready to bake.
- Click Bake selected mesh to bake only the currently selected mesh in the scene, or Bake all meshes to process everything at once.
- A progress dialog will appear showing the current bake stage. Bake time scales with output resolution and AO quality — a 2048px bake with AO typically takes 5–20 seconds.
- When complete, each baked map appears as a new entry in your Assets Library automatically.
- To re-bake with different settings, adjust the panel and bake again — new results will overwrite the previous ones in the library.
Use Your Baked Maps
Once baking is done, your maps are in the Assets Library and ready to use. There are three common ways to work with them.
| Where to use it | How |
|---|---|
| Texture Tool — Channel slot | Drag a baked map (e.g. Normal, AO) from the Assets Library directly into the corresponding channel slot in the Texture tool's material panel. It will be applied across the whole mesh. |
| Texture Tool — Layer modifier | Add a layer in the Texture tool, then drag your Curvature or AO map into that layer's mask slot. The layer will be automatically masked by the baked data — no painting needed. |
| Export to engine | Right-click any baked map in the Assets Library and choose Export as… to download it as a PNG. Import directly into your engine's material editor. |