Improve your 3D lighting with sub-surface scattering

During the early days of CGI, lighting was truly reflective. A CGI light ray would hit a surface and bounce off, which was great if all you wanted to animate was chrome balls spinning. But CGI artists wanted to recreate or augment reality, and this means an understanding of what light does when it interacts with a surface.

In most cases, light actually enters a surface and is channelled through it to help create the look that we know as ‘real’. This property of light interaction is called sub-surface scattering (SSS), and gaining an understanding of how it works will enable you to really get a handle on the true subtleties of realistic rendering.

Classic examples of where you will see SSS working include wax, viscous liquids such as milk and all over your body. Your own face can demonstrate a range of light diffusion examples occurring within your skin depending on how it is lit. If your character is strongly back-lit, the thinner fleshy areas of the ears should let more light through than the other parts of the head. If your character is lit in profile, the terminator (the area where a form transitions from light into shadow) should display a red colour where light passes through the top layer of the skin. And if your character is more front-lit, facial shadows should still have a red-tinted edge, as light has travelled into the skin and is coming out at a slightly different direction.

As you can see, the type of light can change the SSS characteristics of an object, and the changes can be quite subtle. In rendering, this means that using SSS can be a time-consuming process. Renderers are starting to implement much more efficient SSS algorithms for both real-time and pre-rendered sequences.

As with all CGI, it’s a good idea to look at how these processes are dealt with in traditional art. Artists have long used techniques such as layering oil paints, with dark colours laid down first, lighter colours added on top, and highlights added last. These layering techniques can be used with texture maps along with other image-based techniques, depending on your renderer, for enhancing your shaders to really get the most of the creative opportunities that SSS can bring to your work.

Use an ambient occlusion layer to generate SSS

01 Ambient occlusion

To begin generating a sub-surface scattering effect, I bake an ambient occlusion layer from my UV, which gives me a map of the cavities in my model.

02 2D package

Using a 2D package such as Photoshop CC, I get rid of the seams on my model and fix any areas that I don’t want to appear on the map.

03 Applying the map

I apply the map to my model, and have the map set the sub-surface amount for my model, which I can now adjust by painting the image map.

Get started with sub-surface scattering

Sub-surface scattering is everywhere

It would be a mistake to assume that only organic textures, such as skin and viscous liquids, have SSS. Synthetic materials such as plastics, as well as some types of wood and paper, display SSS characteristics. Spend time examining materials in real life to get a true sense of how an object reacts to light.

Lighting using SSS

A lot of architectural work, especially interior environments, depends on SSS to depict the lighting. See if your rendering solution can allow SSS to emit through materials such as shades to create a realistic light effect. If not, you may have to use fall-offs or gradients on your lights to depict the true lighting characteristics of a room.

Varying the SSS amount

While creating your SSS shaders, especially if you’re working with a complex item such as a head or hand, you will need to vary the amount of SSS in different places. If the SSS level for the thin areas of an ear, for example, were applied across your entire model, the whole body would look like it had been made of a waxy material with no inner structure.

Lighting for SSS

It is usually best to ensure you have a light source that your primary focus occludes so that you can see SSS characteristics. If you’re doing character work, look at a standard three-point lighting solution of key, fill and rim lights: the rear rim light will highlight the focus object’s SSS characteristics as well as catching the edges of your object.

SSS rendering solutions

Most 3D packages support SSS in one way or another, but the quality can be different, and can have a huge impact on render times. There is now a range of external render options that could create a better SSS solution than your stock renderer. These include packages such as Maxwell Render and LuxRender, which use physically correct lighting computations to create SSS. Other physical renderers such as Octane Render use your GPU to speed up the render process.

This tutorial was originally published in 3D World issue 172.

  • Words: Mike Griggs

Mike Griggs is a freelance concept 3D, VFX and motion graphics artist working across TV, exhibition and digital design

Liked this? Read these!