Difference between revisions of "Content Dev:CC Normals Bake"

From Reallusion Wiki!
Jump to: navigation, search
m (Smoothing Groups)
m (UV Seams Separation)
Line 53: Line 53:
  
 
==== UV Seams Separation ====
 
==== UV Seams Separation ====
 +
 +
Black edges often appears in the normal map that is produced from a low poly mesh with smoothing group set to hard.  UV split and separation can be used to prevent this problem.  This problem is the result of the inability of the UV line to sample the appropriate side of a hard edge. 
 +
 +
{{Duo_Illustration
 +
|Uvs_and_pixels.png|A UV line sampling across several pixels|
 +
|Black_edge_artefact.png|During the bake, the UV edge erroneously samples from both sides of the hard edge, creating a black line.|
 +
}}
  
 
==== Using xNormals SBM Format ====
 
==== Using xNormals SBM Format ====

Revision as of 18:41, 22 November 2017

Main article: CC Content Development.

The Current Problem

Lax normal implementation for general props in iClone will have no problems. However, when the same normals implementation is applied to a skinned mesh and brought into iClone, problems do occur. This is because normal recalculations inside iClone will result in shading artefacts.

  • Before the application of skin weights.
  • After the application of skin weights.

Particularly obvious are the concave shading effects on the skinned mesh. Working backwards to fix the normals for the skinned mesh will, in turn, cause shading problems when applied to a prop. Continue reading this article to acquire the know-how for creating normal maps that is compatible with both props and characters inside CC and iClone along with any other major third party 3D software.

Normals Baking Process

Basic Workflow

Prior Problematic Workflow

  1. Align the high and low poly geometries.
  2. Completely smooth the surface normals for the low poly geometry as a single smoothing group.
  3. Create the offset cage.
  4. Bake the normal map from high to low poly.

Latter Improved Workflow

  1. Align the high and low poly geometries.
  2. Apply appropriate smoothing groups to the low poly mesh.
  3. Split UV seams along hard edges according to the smoothing groups.
  4. Create the offset cage.
  5. Bake the normal map from high to low poly.
⚠ Most drastic changes in the new workflow is in the handling of smoothing groups, UV splitting and bake cage creation.

Important Points

Smoothing Groups

The point of smoothing groups is to create hard and soft surface shading. This relieves the normal map from having to change a smooth look to a hard look for broad surfaces, and vice versa. Instead, the normal map can be left to its strengths, which lies in the rendering of fine details.

  • Smoothing group set to soft for the low poly baking geometry.
  • Results in shading artefacts for hard edged surfaces.
  • Smoothing group set to hard for the low poly baking geometry.
  • Results in correct shading for hard edged surfaces.

As illustrated, when a hard surface object does not have proper smoothing groups, then the baked normal map will create a gradient effect across mesh faces of large surface angles. This also has a slight effect on the lighting of object. Smoothing groups should be set when dealing with hard surfaces with acute surface angles.

UV Seams Separation

Black edges often appears in the normal map that is produced from a low poly mesh with smoothing group set to hard. UV split and separation can be used to prevent this problem. This problem is the result of the inability of the UV line to sample the appropriate side of a hard edge.

  • A UV line sampling across several pixels
  • During the bake, the UV edge erroneously samples from both sides of the hard edge, creating a black line.

Using xNormals SBM Format

Cautionary Points

Inter-application Mesh Transfer

Issues with Under Optimized Mesh

Subdivisions for Substance Material

Quadrangulation Issue

Test Cases