Uncharted 4: A Thief’s End relies heavily on shaders for its incredible visuals, especially for small details like stitches that normally would be painted on the textures and normal maps.
That’s where Shading Artist Yibing Jiang comes in. She can be defined one of the minds behind Drake’s handsome looks, and she just opened her Artstation portfolio.
In it Jiang uploaded a direct feed version of the work-in-progress screenshots of Nathan Drake we’ve seen on blurry YouTube from PlayStation Experience (you can see them below) and even more importantly, she explained how those results were achieved.
First of all Jiang explains how the shake for Drake’s face was done:
Real-time rendered in game. This is not CGI or pre-render, which means all the shading features for skin, hair, eyes need to be written in code.
Using Disney Diffuse model, GGX Brdf model and Screen Space Subsurface.
Hair is using Kajiya-kay Brdf model.
Frank Tzeng did the sculpting and texturing for his face and arms.
Disney Diffuse model is a physically based shading model the theory of which can be found here. GGX BRDF (bidirectional reflectance distribution function) is a microfacet model very effective for modeling light reflection from rough surfaces (you can find the tech documents here).
Screen Space Subsurface translates the simulation of subsurface scattering (which allows for translucence) from texture space to a screen-space diffusion approximation (more information here) and Kajiya-kay BRDF is a popular phenomenological hair strand illumination model that approximates the specular component as light scattered from thin cylinders, reproducing the linear specular highlight that characterizes hairin a very simple but effective way.
Then she also gives us more details on what went into Drake’s clothes:
Real-time rendered in game. This is not CGI or pre-render, built the fabric shader package for all the main characters and npc characters as well.
Using Disney Diffuse Model, recreated Brdf model just for the fabric, also added special cheap Sub-surface Scatter.
All the fabric details, stitches, small wrinkles, wear and tears were built in shader.
Colin Thomas did modeling and texturing part for the outfit.
It’s relevant to mention that with “cheap” sub-surface scatter Jiang doesn’t mean it’s not good. In development terms “cheap” just means that it doesn’t use many hardware resources.
Below you can check the work-in-progress screenshots, this time without any YouTube compression getting in the way.