In this tutorial we will be using the head scan of Lee Perry Smith, kindly provided by Lee Perry Smith! The key to achieving realistic skin is in the details. Perfection is the enemy of photorealistic characters. Overcoming this is the most important goal for crafting believable renders containing skin. In the image below you can see the difference when rendering with and without subsurface scattering. Without SSS the skin looks unrealistic with a hard, dry-looking appearance. This is evident on the right side of the example image below:
Left: Subsurface scattering vs. Right: No Subsurface scattering
- Start by importing the polygon .obj file - Infinite-Level_02.OBJ
- Next, create two distant (directional) lights. One will act as a key light, the other a rim light. Rotate them as shown in the image below:
Key light on left. Rim light on right.
Start by importing the polygon .obj file - Infinite-Level_02.OBJ You will notice that the mesh is very small within the viewport. This is because the file is an .OBJ file which has been exported from a different 3D package. SSS is very scale dependent. If you were to render this as it is, using the default Skin settings, you would get something that does not look correct. However, if you scale the model up to a value of 100, the SSS looks better.
Mesh scale 1 - SSS looks wrong
Mesh scale 100 - SSS works as expected
As you can see, the shader is broken up into different SSS scatter layers, each one with its own scattering radius and weight.
The images below show a comparison between the default Skin settings with the final settings used in this scenario on the right. Bear in mind these settings will need to change according to the type of look of skin that you require. The weight radius settings are set to 0.2/0.04, 0.3/0.06, 0.5/0.1
Increasing this value produces a cleaner solution, but will take longer to render.
There is still some noise within the eye sockets. This can be fixed by increasing the number of Diffuse Samples:
The default Skin specular settings appear very glossy by default. Reduce the Specular and Sheen Weight. This will make the skin appear less glossy. Change Specular Weight to 0.7, Roughness 0.58 and Sheen Weight 0.25, Roughness 0.43.
Now that we are happy with the way the Skin looks, the next step is to add displacement to it. This will further improve the appearance of the skin.
You may notice the ears and nose are looking blobbish. You may want to experiment with this value, depending on where and how the displacement map was generated. A value of 0.5 means that values from 0.0 to 0.5 will push the vertices inwards, and bigger values outwards. In this case a value of 0 was used.
This value will change depending on how the displacement map was generated. For example, a Zero Value of 0.5 would probably better match a 32bit tif export with scale =1. You may also need to check the alpha depth value or the 'scale' value if it is exported as a 32 bit image.
You can add more surface detail to the skin by enabling Autobump. Auto Bump puts the high frequencies of a displacement map into the bump attribute so that you do not need as many Subdivision Iteration values.
High frequency detail from Autobump can potentially be taken into account for extra realism in the SSS of tiny features like wrinkles and pores when 'Use Autobump in SSS' is enabled.
Beware that enabling the 'Use Autobump in SSS' option will triple shader evaluations with SSS, resulting in much longer render times.
You may wish to try adding some extra textures to the scatter colors. These were made by desaturating and gaining the color to pull out the dark areas, like his eyebrows and stubble. This was multiplied over flat colors of the values from the shader. Obviously a lot more time could be spent here to add a lot more detail in the subsurface and the specular to make him him look more realistic.
Below are some alternative ways to light the model, so that you can see how it reacts in different lighting situations. Have fun and try experimenting with different lighting and skin types.
It is even possible to see the effects of the Skin's SSS by placing a light inside the mesh. However you must make sure that your mesh has thickness, i.e., both sides are modeled. In this case the insides of the mouth have been modeled and therefore we see the light react with the SSS from the inside. However, if the geometry only had one side, the light would not be visible through the skin.
That concludes this tutorial on rendering skin with Arnold using the Skin material and displacement. Many thanks to Lee Perry Smith for the generous use of his head scan.
Renders of Lee Perry Smith by Lee Perry Smith
An .ass file is available here.