This topic has always been subject of a lot of research. The aim of achieving believable characters in a virtual environment, whether it is precomputed or in realtime, is not an easy task because it is linked with a lot of topics and requires attention to a lot of details to avoid falling into the uncanny valley.
I wanted to experiment by myself about some techniques I’ve seen or read about.
I first dig into skin shading. I studied the amazing work of Jorge Jimenez and integrated in Unity some the features he worked on.
I experimented about subsurface scattering including reflectance and transmittance, and some other interesting features such as two specular lobes and cavity occlusion.
I also worked on bent normals and their great benefits. They were built Substance Designer but you can use any software or baker to create them.
Here combined with ambient occlusion, it helps reducing the amount of light leaking and gives another dimension to the character and improves rendering. It is also used as reflection or specular occluder and is similar to ambient occlusion but applied on specular indirect lighting.
The eyes of a character are really important as they are often referred to as The windows to the soul. I experimented about this and integrated some techniques such as refraction, light refraction, occlusion or limbus rendering which combines iris and sclera layers.
Here’s an example of most of the effects combined with others to achieve a believable but stylized rendering of this character created by Yekaterina Bourykina.