Materials / Shader

Shader Overview

Our shaders are currently implemented as a collection of Unity URP. All of our shaders are available to your team for editing and modification, to either use as a base for your own solutions or as a reference.

Skin Shader

Our skin shader includes support for normal maps (detail and main), ambient occlusion, specular & roughness maps, transmission, basic subsurface scattering and various masks for scaling the contribution of AO in SSS, hair cap occlusion and so on.

All of these inputs have tweakable parameters that can be adjusted to suit your needs.

Eye Shader

We implement an SSS term for the sclera, refraction via UV distortion, allow for separate normal maps and shading coefficients for the iris and cornea/lens. Our shader also permits iris dilation and fine control over the strength of specular reflections.

We implement a custom procedural eye shadowing method that's driven by the shape of the eye socket via an external component (DidimoEyeShadowController). This creates a rotated, diffused ellipse that is used to simulate ambient occlusion on the eyeball, which allows that to sit more naturally in the face.

The 'Eye Shadow Controller' gives you fine control over the appearance of ambient occlusion on the eye.The 'Eye Shadow Controller' gives you fine control over the appearance of ambient occlusion on the eye.

The 'Eye Shadow Controller' gives you fine control over the appearance of ambient occlusion on the eye.

Iris textures and dilation can be chosen using the 'Iris Controller' script.Iris textures and dilation can be chosen using the 'Iris Controller' script.

Iris textures and dilation can be chosen using the 'Iris Controller' script.

Hair Shader

We make use of a ‘flow’ map, diffuse texture and alpha channel. The flow map allows us to alter the direction of the tangents the highlights along the direction of the hair, giving us more control than a linear noise nudge map.

We've also provided a parameter to control the rotation of the anisotropic reflection.


Did this page help you?