Unreal Character Model Compendium

This is an advanced technique that is not required to create characters.


Custom Normals are a powerful tool for controlling the look of a 3D Mesh. This page is an introduction to them, with examples of how they can be used.

What are Normals?

A Normal is the direction perpendicular to a surface. In a 3D Mesh they are stored per-vertex, making them Vertex Normals. In the above image, each purple line represents the normal of the Mesh at each vertex.

In order for objects to appear smooth, a Shader will average the Vertex Normals across a face.

Normals are automatically generated in 3D Packages. By default, Normals are typically calculated using the average of the angles between edges at a vertex.

Custom Normals

In our 3D Package, we can choose to customize the Normals of a Mesh. For example, on our wavy plane we could make the Normals all face the same direction:

The methods used to customize Normals vary between 3D Packages. However, a common a method is to transfer the Normals from one object to another. In the above image, the normals from a flat plane are transfered to the wavy plane.

Examples of Custom Normals

Here are a few examples of where you may want to use custom normals:

Weighted Normals

“Weighted Normals” describe Normals that are tweaked to align to larger faces on a Mesh.

The above image shows a beveled cube, which we want to have perfectly flat sides. The left shows default Normals, and we can see that the sides of the cube will appear distorted when a Shader averages the Normals. The center shows Weighted Normals, which will preserve the flatness of the cube’s sides. The final image on the right shows the result.

Note that Weighted Normals do not always produce better shading – keep them in mind as a tool in your toolbox.

Blender has a Weighted Normals modifier that can be applied to Meshes.

Stylized Characters

Stylized characters often feature exaggerated lighting, and it is desireable to have precise control over how shadows will fall over the face and body.

The above image shows a character imitating a cel shaded anime aesthetic. The Normals of the face are customized to make sure that important areas will be lit and shadowed together. Otherwise, unappealing shadows may appear erratically across the face.

Foliage

Shaded foliage in games has a tendency to appear noisy and unappealing in many lighting scenarios. Common tricks to resolve this include:

  • For trees and bushes, transfering the normals of stretched spheres around the leaves.
  • For grass, setting normals to point straight-up.