Skip to main content

Character Rendering

This page is for anyone turning on the Face Shading Module for the first time. It removes the nose shadow and gives the face its own shading rules. It takes about 8 minutes.

What is this​

A face has real curvature at the nose and the eye sockets. Using the same shadow settings as the body almost always looks messy.

In 0.1.11 the Face / Hair Shading tab runs Face Area → Face Shading → Shadow Mode → Reference and Proxy → Advanced. The face proxy and SDF also work on hair materials, and dead status folds were removed.

A face with a nose shadow next to one cleaned up with face shading

When to use it​

  • When the nose shadow splits the face under front lighting.
  • When you want bang shadows to stay consistent regardless of lighting.

Try it in 30 seconds​

  1. Select a converted face material.
  2. Turn on the Face Shading Module.
  3. Raise Proxy Normal Intensity to 1.
  4. Raise Face Border to 0.25. The default is 0.

You succeeded when the blotchy shading on the nose and eye sockets disappears. If nothing changes, go to Troubleshooting.

Face shading​

Step 1: Define the face area​

A mask is a black-and-white image where white marks the area the effect applies to.

  1. Turn on Enable Face Area Mask and put a texture into Face Area Mask.
  2. Put weights into Mask Channel (RGBA). Use (0, 1, 0, 0) for G only.
  3. Turn on Invert Mask if the mask paints the face black.
  4. Refine the boundary with Remap Start and Remap End.

When several of the four methods overlap, only the topmost one is used.

RankMethodItem to turn on
1Texture face maskEnable Face Area Mask
2Vertex paintUse Vertex Paint As Face Area
3Proxy volumeUse Proxy Mesh Normals
4Whole materialAll three above turned off

If Mask Intensity is 0, the whole material is treated as face.

Painting the face area in the SceneView​

  1. Turn on Use Vertex Paint As Face Area.
  2. Press Start Painting Face Area.
  3. Paint the face in the SceneView, and hold Shift to erase.
  4. Clean up the boundary with Harden or Smooth, then save.
  5. Turn Enable Face Area Mask off while you use paint.

Step 2: Remove the nose shadow​

A proxy is an invisible reference shape used only for the shading calculation.

  1. Turn on Use Proxy Mesh Normals.
  2. Pick Plane in Proxy Shape. It is the first item in the list.
  3. Raise Proxy Normal Intensity. 0 is the original normal, and 1 is the proxy normal.
  4. Match the center and radius with the face proxy tool in the SceneView.
  5. Set the transition width at the neck and hairline with Proxy Edge Softness.
The other three shapes are experimental

Sphere (Experimental) · Cylinder (Experimental) · Capsule (Experimental) do not guarantee results.

Step 3: The face-only shading boundary​

  • Face Border is the adjustment you will use most. The lower it is, the later it darkens.
  • Setting Remove Default Face Form Shadow to 1 removes the form shadow on the face.
  • If the Form Shadow section is off, Face Border is not applied.

Step 4: Bang shadows​

The single Shadow Mode row in the Face Shadow Mode group decides this.

ValueResultWhere to use it
Real Shadows (Same as Body)Receives the scene's real-time shadows as they areWhen you do not treat the face separately
Depth Shadow (Face Corrected)Helps Depth Shadow fall softly on the faceAnimation look
CustomA state you tuned yourselfShown automatically when you leave the two combinations above

A forehead with the Depth Shadow face correction off next to one with it on

Depth Shadow (Face Corrected) needs camera depth to be visible. Depth is the camera's measurement of what is how far in front. How to secure it is in Depth Effects. If real-time shadows are misaligned, push them into place with Real ShadowCaster Offset. To make the face receive bang shadows better, use Receiver Depth Pushback. That value is on the Depth Shadow tab.

Values you will touch often​

Inspector labelWhat it changesSuggested starting valueRaise it / lower it
Proxy Normal IntensityHow far face normals are replaced by proxy curvature10 is the original normal, and 1 removes the nose shadow
Face BorderThe shading boundary position applied to the face only0.25 (default 0)Raising it darkens earlier, and lowering it darkens later
Face SoftnessThe blur width of the face shading boundaryLeave at the default (0.15)Raising it softens, and lowering it makes a crisp line
Remove Default Face Form ShadowHow much of the face form shadow is erased0At 1 the nose and cheek shadows disappear completely
Proxy Edge SoftnessThe width over which the face area releases at the proxy boundaryLeave at the default (0.15)Raising it carries on into the neck, and 0 cuts off sharply
Low ColorThe color bleeding into the lower part of the characterA color darker than the baseWhite means no change

Character height gradient​

It tints the lower and upper parts differently by height from the character root. Use it to darken the feet and create a sense of grounding.

  1. Turn on Character Height Gradient.
  2. Set Low Color a little darker than the base.
  3. Set the blend point and width with Boundary Height and Boundary Softness.
The UV4 height bake comes first

The height from the whole character root must be in UV4 for the position to be correct. It is per character, not per mesh. → Mesh UV Bakes

Common problems​

I painted the mask and it does not apply​

When the texture mask is on, vertex paint and the proxy are ignored.

Moving the proxy gets no response​

The material may have baked face normals from an older version. Run Release Baked Face Normals in MingToon Manager.

The neck and hands became face too​

The proxy volume is too large. Reduce the radius, or define the area with a mask.

More detail​