Project Description

Character Rendering

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.

Skin Shading

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 also worked on Bent Normals and their integration. They were built Substance Designer but you can use any software or baker to create them.

Using this data has a huge impact on reflection and is used as an occluder. It also helps avoiding light leaking and combined with Ambient Occlusion

Here combined with ambient occlusion, it help avoiding light leaking and give another dimention to character rendering.

Bent normal and ambient occlusion

Experiment about bent normals integration inside Unity for the Standard shader. Specular occlusion improves rendering.

Bent normal and ambient occlusion

Experiment about bent normals integration inside Unity for the Standard shader. Specular occlusion improves rendering.

Right after finishing this lighting setup and thanks to the Unity Precomputed Realtime Global Illumination system, I was able to play with lighting in realtime.

Eye Shading

After being satisfied by this setup, I wanted to push the experimentation a bit further. I decided to handle translucency in the Precomputed Realtime Global Illumination System. After some hacks, I achieved to inject translucency information in the lighting system.