FaceShadow — Anime Face Shadow Maps From Your Head Mesh or Painted Masks, 16-Bit, Measured at Every Light Angle, Unity Urp

Skava in Materials and Shading


The clean anime face shadow — the one that sweeps across the cheek as the light turns, instead of breaking into blotches — needs a face shadow map. FaceShadow makes it from your head mesh or from masks you painted, and proves it: at every half degree of light, through the filter and the bit depth your engine uses.

Painted face shadow maps are usually built from 8 to 16 masks and saved as 8-bit images, then imported with the engine's defaults. Nobody checks what that does between the masks. FaceShadow measured it: an 8-bit map makes the shadow edge jump by up to 6 pixels at 1024 when the light comes from the side; Unity's default import (compressed, sRGB) moves the thresholds by up to 72° and flips 62% of the face at the worst angle. FaceShadow writes a 16-bit map, sets the import, and checks the result decision by decision.

What you get

  • A map from your head — the shadow shaped by an ellipsoid around the head (the usual anime look), by a proxy mesh you sculpt, or by the face's own normals: computed exactly per texel, not interpolated between a few masks.
  • Or from your painted masks — any number of light angles; masks that light a pixel again after it went dark are found and fixed, and every mask comes back at its own angle.
  • Both sides, one map — light on the texel's own side and on the other side are stored separately, so a face whose two halves share their UVs works too. Points turned sideways-back get their own lit range instead of a seam.
  • Proof — the shadow from the map against the target shape's own lighting at every half degree, at texel centres and between them, in pixels, as the engine stores and filters it.
  • Unity URP — a face shader, a component that follows the head bone, and a setup that imports the map losslessly, compares it with the file and checks the head's frame on sample points. Viewport preview in Blender with a light slider.

Measured

  • Marble bust and UE5 mannequin, 1024: the 16-bit map's shadow edge within 0.6 px of the target's at every angle, filtering included; the same map at 8 bits: up to 6 px.
  • In Unity 6: the map as Unity samples it against the file — 0.0000° difference, 0 of 134,640 texels decided differently; with Unity's default import, 72° and 62%.
  • Head frame: Blender's sample points land within 6.4 mm of the imported face (a front-back flip would put them 73 mm off, and the setup says so).

Blender 4.2 to 5.2, tested in Unity 6 (URP). No AI, no cloud, no account.


$112.99

Have questions about this product?
Login to message

Details
Published about 12 hours ago
Blender Version 4.2 - 5.2
Extension Type N/A
License GPL