Baking a normal map from high-poly transfers sculpted or scanned detail onto a low-poly mesh so real-time and lookdev shaders can fake that relief. A clean bake needs a matching cage, correct tangent space, enough padding, and the right color space. This guide covers the settings that actually matter, how to combine the bake with tileable CC0 materials, and how to apply the result in Blender.
Prepare high-poly and low-poly before you bake
The low-poly must share the same silhouette and a non-overlapping UV layout (except intentional UDIM tiles). Apply scale. Split hard edges where you want a hard normal; keep a single smoothing group only if the cage can cover the surface without rays missing. Name objects clearly (High / Low) so Marmoset, Substance 3D Painter, or Blender’s Selected to Active bake can find them.
- Delete interior faces the cage will never see.
- Keep texel density even; stretch in UV becomes stretch in the normal.
- For hard-surface, add a thin bevel on the high-poly so the bake catches highlights.
If the “detail” is just tileable metal scratches or wood grain, do not sculpt it. Overlay a CC0 normal from Locker3d after the bake.
Cage, ray distance, and common bake errors
A cage is an inflated copy of the low-poly that tells the baker where rays start. If you skip it, use a max ray distance just larger than the biggest high-to-low gap. Too short: missing islands and black holes. Too long: rays hit the wrong part (skewed details, “exploded” normals). Inflate along vertex normals, not a uniform scale, or thin parts will poke through.
Typical failures and fixes:
- Seams glow or crack — increase padding (8–16 px at 2K, 16–32 px at 4K) and match the engine’s tangent basis (MikkTSpace).
- Skewed details — cage is uneven or the low-poly is too far from the high-poly.
- Mirrored UVs flatten — offset the mirrored island or use a separate bake set.
Tangent space, color space, and engine flip
Game and DCC pipelines almost always want a tangent-space normal, not object-space. Store it as non-color / linear. In Blender, the Image Texture node must be Non-Color and must go through a Normal Map node before Principled BSDF. Albedo stays sRGB; roughness and metalness stay linear. See how to apply PBR textures in Blender and what PBR textures are.
OpenGL (Y+) is Blender’s default. DirectX (Y−) is Unreal’s common import. If cavities light as bumps, invert the green channel. Do not invert the whole RGB image. Keep a 16-bit bake master; convert to 8-bit only for the packed game texture.
Resolution, padding, and extra maps
Bake at the resolution you will ship, or one step higher and downsample. 2K is standard for real-time characters and props. 4K is for hero weapons, vehicles, and close-up product shots. Bake AO, curvature, and thickness in the same session so they share UVs. Height/displacement from high-poly is useful for offline renders; games usually keep a short parallax or skip it.
If you also bake albedo from a high-poly that already has a tileable material, remember that material can be a Locker3d CC0 set: concrete, stone, or a floor tile. That keeps color legally clean.
Combine baked detail with CC0 tileables
Unique baked normals carry bolts, panel gaps, and damage. Micro-surface should still come from a tileable. In the shader, add a detail normal (often 2K, tiled 4–12×) on a second UV or a scaled mapping node. Locker3d textures are free CC0, so you can ship that mix in a commercial game. Browse the texture catalog and read CC0 textures: what you can and cannot do. More baking and material notes are on the blog.
Frequently asked questions
Should I bake OpenGL or DirectX normals?
Blender and many DCC tools use OpenGL (Y+). Unreal typically expects DirectX (Y−). If lighting looks inverted in cavities, flip the green channel. Keep the normal map in non-color / linear color space either way.
What bit depth and resolution should a baked normal use?
Use 16-bit PNG or EXR for the bake, then convert to 8-bit only if the engine requires it. Match the albedo: 2K for real-time props, 4K for hero assets. Padding of 8–16 pixels reduces mip-seam cracks.
Can I mix a baked normal with a CC0 tileable normal?
Yes. Bake unique sculpted detail (bolts, damage) on UV0 and overlay a tileable CC0 wood, metal, or concrete normal in a detail slot or second UV. Locker3d maps are CC0, so you can ship that mix commercially.