<< Go Back

Calibrating Skin Textures

During the process of making this tutorial, it has become clear that if you plan on using this technique in full production, you may wish to calibrate your skin textures.

Having looked at several sets of skin textures, its clear that black skin textures tend to have more noise and blemish detail that white skin. I suspect this is to add some visual detail to skin that is difficult to bring contrast to (as its darker, there are less available color and light values). Either way, converting black skin to be lighter results in more noisey albedo textures than making lighter textures darker – which, conversely seem to lack detail.

As such, its probably best to author skin at a relative mid-tone, so when blemishes, freckles, moles, scars etc. are all added, the texture is calibrated well for darker and lighter tones.

You will also need to consider using a standardized base skin color on all your characters skin. If you use the same base chromophore value in all your albedo textures, then you can use the same, hard-coded shader value for all characters.

In addition to all of this, I have found that, as with the noise, specular reflectance is also commonly an issue. Lighter skin, when darkened, is always significantly more ‘shiny’ than you would expect. Interestingly, dark skin made lighter does not suffer from this problem.

Again, I suspect this is because white skin reflects more light generally across its surface, so issues with specular reflectance are not as noticeable. With black skin, bright highlights are instantly more noticeable. As a result I would suggest always calibrating roughness and specular textures on darker skin, and at the very least, testing across a range of skin colors.

Woah. Shiny. (Poorly calibrated textures for dark skin).

Going Further

Hopefully you’re now clearer on all the topics covered in this tutorial. Its worth trying some other LUTs if you’re feeling like challenging yourself, one may be looking at Chlorophyll A & B, as see here:

Source

Some other things you could try is our shader chromophore replacement technique on other things, such as environmental assets or clothing. It should allow you to re-color just about anything, not just skin.

References

I used many papers and online websites over the course of this, these are the papers referenced & the papers I referred to the most:

Monte Carlo Modeling of Light Transport in Tissue (Steady State and Time of Flight) Steven L. Jacques [2009]
http://www-star.st-and.ac.uk/~kw25/teaching/mcrt/Ch5_Jacques_Welch2009.pdf

A Spectral BSSRDF for Shading Human Skin Craig Donner and Henrik Wann Jensen [2006]
http://graphics.ucsd.edu/~henrik/papers/skin_bssrdf/skin_bssrdf.pdf

A Practical Appearance Model for Dynamic Facial Color Jimenez et al. [2010]
http://reality.cs.ucl.ac.uk/projects/skinperf/skinperf.pdf

A Layered, Heterogeneous Reflectance Model for
Acquiring and Rendering Human Skin
Donner et al. [2008]
http://reality.cs.ucl.ac.uk/projects/internal/defskin/defskin-080123.pdf

Complete Project Files

All the final project files are here:

https://github.com/digitaljelly/UE4SkinLUT

https://github.com/digitaljelly/SkinLUT

https://github.com/digitaljelly/UnitySkinLUT (note: you’ll need the Digital Human package separately, thanks to GitHub file size limits, I’m afraid)

<< Go Back

Categories: Uncategorized

0 Comments

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.