Understanding Subsurface Scattering - Capturing the Appearance of Translucent Materials
When working in the world of 3D there's going to be a time when you must create some type of material that has a very distinct look to it. For example, wax, marble or fruit. The way light is absorbed within these types of materials is unique because these materials all have a level of translucency to them.
In CG recreating real life materials can be a difficult challenge. In order to achieve the correct look of a translucent material you must use subsurface scattering. In this article you'll learn about what subsurface scattering, and why it's so important for creating believable materials.
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 most importantly, skin. If there is no subsurface scattering on skin, then it won't look realistic because there is a distinct look that skin has, which is the level of translucency.
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 human skin is actually very translucent. To see an example of this, hold a bright light behind someone's ear. You'll be able to 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.
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.
Without subsurface scattering it would be very difficult to simulate these two distinct components of translucent materials like wax or skin.
Working with Subsurface Scattering
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.
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.