Triangulating before baking | 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
Triangulating before baking
3D Meshes can be defined with polygons with multiple border edges per face. Usually via quads (4 edges), sometimes more (n-gons).
Software however transform those polygons into Triangles later because it's easier to manage and perform computation with (especially on the GPU).
How can triangulation affect a mesh ?
There are no standard solutions to convert Quad/N-Gons into triangles. As demonstrated on the image above, multiple choices are valid.
The bakers are unlikely to triangule meshes like a game engine would do because we choose a specific algorithm over an other.
Why triangulating before baking ?
The baking process will read the geometry and then encode information into textures.
Because those information are based on UVs and sometimes on the mesh topology, other software could decode the information incorrectly if they don't read the geometry the same way as when they apply the texture.
On the image below, you can see the low-poly mesh at the top left and the high-poly mesh at the top right.
At the bottom is the low-poly with the normal map baked from the high-poly. The mesh on the left use a triangulation identical to the one used by Substance Painter when baking. The mesh on the right doesn't and display black artifacts. This is because there is a mismatch between how the normal map was baked and how the mesh is currently triangulated. This can be fixed by updating the mesh and/or rebaking.