Understanding Subsurface Scattering to Render Translucency
Subsurface scattering works by simulating how light penetrates a translucent surface and is absorbed, scattered & exits the surface at a different location.
Jun 7, 2014 • 3 Minute Read
When working in the world of 3D rendering, there's going to be a time when you must recreate distinctions between surfaces, such as wax, marble or fruit. The way light is absorbed within these types of materials is unique because they all have a level of translucency. Subsurface scattering helps you capture the unique appearance of translucent materials. In this article you'll learn about what subsurface scattering is, and why it's so important for creating realism in surfaces.
What is subsurface scattering?
Subsurface scattering works by simulating how light penetrates a translucent surface like a grape for instance, and is absorbed and scattered and exits the surface at a different location.
Subsurface scattering is critical for creating materials for all different kinds of surfaces like paper, marble, wax, and perhaps most importantly, skin. Crucially, if there is no subsurface scattering on skin, then it won't look realistic because skin actually has a degree of translucency, as we'll demonstrate below.
How does subsurface scattering work?
When light rays are traveling and hit a surface there are many different things that occur all at once. Some of the light is going to be reflected off, giving specular light. However, with certain materials that have a level of translucency some of the light rays are actually going to be absorbed into the surface.
Once inside, the light rays will scatter all around and exit the surface at different locations, providing subsurface scattering. It may not be apparent at first, but skin is actually very translucent. To see an example of this, hold a bright light behind someone's ear. In the example below, we used a dog's ear. You can see how the light is absorbed, and passes through the skin. It also illuminates the inner workings so you'll likely be able to see blood vessels, skin pores, etc.
Two components of subsurface scattering
Translucent objects typically have two major components, and subsurface scattering will allow you to create both of these components. The first is forward scattering, this is when light enters the front of the object and is reflected back toward the viewer. This is what actually gives materials their soft appearance, like wax or skin.
The second component is called back scattering, and this occurs when a light is illuminating the backside of the object, and the light rays actually pass completely through to the other side. As mentioned previously, a great example of this would be if you set up a light behind someone's ear or placed your hand directly in front of a light source.
Look at the example of a human hand below, which is illuminated by light both in front and behind the hand. Without subsurface scattering it would be very difficult to simulate these two distinct components of translucent materials like wax or skin.
How to add subsurface scattering to your render
When it comes to subsurface scattering it's costly on render time, so you need to find a delicate balance between accurate results and practicality. If you're using subsurface scattering for a character's skin in a still render, then by all means increase the quality as needed. But if you're working on several frames within an animation it can be a huge slow down in render time so you'll need to find the right balance especially if you're working with a deadline.
It's also important to remember that subsurface scattering is not defined within the render settings, like you would find with final gather, global illumination or caustics. Subsurface scattering is actually created by a subsurface scattering shader that can be plugged into the material.
Fast vs. physical subsurface scattering
Depending on your 3D application the different subsurface scattering shaders will be either physical or fast. The "fast" subsurface scattering shaders are all fake, meaning they are not truly volumetric, and are optimized to render quickly by using lightmaps to simulate the scattering effect.
The "physical" subsurface scattering treats light in a physically correct way by using photons and global illumination or caustics. This will make for a slower render time and a more complex set up, but it's more accurate. The physical subsurface material is best used for thicker surfaces like marble, jade, etc. Even though the fast shaders are technically just simulating the effect, they still produce nice results that are great for thinner materials like skin, wax, leafs, etc.
Whether you need to create wax, skin or any other type of translucent object, subsurface scattering is going to be the key to simulating that in a believable way. To learn more about subsurface scattering, and some of the key attributes and properties that needed to be adjusted to get a realistic look check out mental ray Workflows in Maya: Subsurface Scattering or if you're a 3ds Max user watch Realistic Skin Shading, Lighting, and Rendering in 3ds Max and V-Ray.