Normal Map Baking
If you’re having issues with your normal map baking, this guide will help you work through them! Use the steps and resources below to help troubleshoot common baking issues:
- Start with hard edges on all your UV border edges, move mirrored UV shells over one unit, and soften the mirror edges on your lowpoly.
- Use a cage or bake envelope (essentially equivalent) when baking and make sure that you’re baking in 16bit.
- Upressing from 8bit to 16bit won’t help if you’ve accidentally done it in 8bit, you’ll have to rebake in 16bit to get 16bit textures.
- This thread covers the topic in excellent detail. http://www.polycount.com/forum/showthread.php?t=148303
3DS Max scripts to help do this
Maya script to harden UV border edges:
Bake with a cage:
A few tips:
- If you have a lot of gradient in your bake on a flat area, or if your lowpoly has black areas/bad shading before even baking anything, it’s probably because you need more UV cuts and hard edges on the lowpoly mesh. Gradients in the normal map cause compression artifacts, regardless of bit depth.
- If you have corners that are sharper than 90 degrees, they are good candidates for a UV cut and hard edges on the mesh. It’s a good idea to cut UV edges (and matching hard edges on the mesh) along very sharp edges to help the normal map know it doesn’t have to bend light around, for example, the thin edge of a blade.
- You can also add an extra edge loop/supporting geometry if you are still getting bad bakes. This will further help the normal map relax and will give you more predictable results.
Compare the following images:
The top example requires the vertices to point in more directions than the bottom example. This is because the top edits all the face normals, and the bottom averages the extrusions. Despite looking like there is a lot more geo in the bottom example, the GPU will see fewer triangles!
Both should be able to bake cleanly, but the bottom one will give you more pixels due to the fewer UV shells and hard edges. The result would be a bit more gradient.