For this project, I looked to recreate the character toon-shading effect used in Genshin. I used Klee, an iconic character, as my base model to work from. Thanks to Rachel who allowed me to explore the project in Unreal Engine instead :)
Achieved through reading PBR info from channels of the lightmap and compute using BlinnPhong
MetalMap used:
World-Aligned Shadow Texture Mapping
New:
SDF-based Shadow Calculation
Lerping Artist-Controlled Light and Shadow Colors
Using Noise to Offset Outline Based on Time For a Windy Effect on Hair
Threshold at 1/10: Threshold at 1/20: Threshold at 1/29:
I used some marketplace assets that closely resembled Genshin Impact's modeling styles with the architecture mirroring the city where the character was from: "Mondstadt". Then I added my own lighting setup and post processes effect to it.
Here is one of my final hero render:
For the interactivity part, I wanted to showcase the shader performing at different lighting scenarios: another one at dawn, and another very stylized one. I implemented functions that would quick unload/load different lighting components & post process materials to achieve this. Here are the results on YouTube: YouTube Demo