Normal map has strange colorful gradients | Substance 3D bakers
- Getting Started
- Bakers settings
- Common Parameters
- Ambient Occlusion
- Ambient Occlusion from Mesh
- Bent Normals from Mesh
- Color Map from Mesh
- Convert UV to SVG
- Curvature from Mesh
- Curvature from Mesh (deprecated)
- Height Map from Mesh
- Normal Map from Mesh
- Opacity Mask from Mesh
- Position map from Mesh
- Thickness Map from Mesh
- Transferred Texture from Mesh
- World Space Direction
- World Space Normals
- Common questions
- How to export the baked maps?
- Is dithering applied to baked textures?
- Should I enable "Compute tangent space per fragment"?
- What are Assbin files?
- What is the bit depth of baked textures?
- What is the difference between the OpenGL and DirectX normal format?
- Why are there strange stretches in my textures after baking or exporting?
- Why is Matching by Name not working with Ambient Occlusion/Thickness?
- Why is my mesh fully black after baking?
- Common issues
- Aliasing on UV Seams
- Baker output is fully black or empty
- Baking failed with Color Map from Mesh
- Black shading cross are visible on the mesh surface
- Mesh parts bleed between each other
- Normal map has strange colorful gradients
- Normal texture looks faceted
- Seams are visible after baking a normal texture
- Seam visible on every face
- Texture baked outside of Substance software looks incorrect
Normal map has strange colorful gradients
The output of the baker is a set of very strong colorful gradients.
Colorful gradients usually happens when there is a mismatch between the high-poly and low-poly mesh during the baking process. This mismatch can be explained by the following reason :
- The high-poly and low-poly mesh don't overlap properly each other (see image below).
- The high-poly is missing geometry that the low-poly tries to cover.
- The high-poly or low-poly mesh has inverted vertex normals.
When it happens the baking process try to match geometry that doesn't exist, resulting in something empty. The baker fills this empty area with a color extracted from the neighbor pixels in the textures which creates the colorful gradient (unless Diffusion is disabled).
Given the few possible reasons which lead to non-overlap between the meshes, a few solutions have to be considered :
- Make sure to freeze/reset the mesh transformation (reset x-form, etc) to be sure all the meshes are consistent
- Import both the low and high-poly mesh in your 3D modeling software to verify they overlap properly
- Make sure your naming convention is valid if you are using the Matching By Name feature (you can verify it by baking and then looking into the log file which should print the mesh names).
Below is an example with a high-poly and low-poly sphere. On the left the meshes don't overlap because the high-poly has been shifted away :