In this recipe, we will create a layered skin material by using the open-content character Sintel.
Sintel is the main character of the third open movie of the same name produced by the Blender Foundation; the Sintel character and all the other movie assets are licensed under the Creative Commons Attribution 3.0 license (http://creativecommons.org/licenses/by/3.0/). The following screenshot is of Sintel's face:
Start Blender and open the 9931OS_08_skin_start.blend
file, where there is an already set scene with the Sintel character standing on a Plane, a Sun lamp, and a Camera.
Except for Sintel's body skin, all the other mesh objects have either gesso-like materials or eyes already assigned.
Let's start with the layered skin shader creation:
skin_layered
.Mix Shader1
.Add SPEC
.Glossy BSDF_1
and Glossy BSDF_2
. Set their Distribution to Ashikhmin-Shirley, and then connect their output to the first and second Shader input sockets of the Add SPEC node respectively.1.450
.Add SSS
, and connect its output to the first Shader input socket of the Mix Shader2 node, so that the connection that comes from the Mix Shader1 node automatically switches to the second Shader input socket. Connect the output of the Mix Shader1 node also to the second Shader input socket of the Add SSS node.0.050
; Radius to 4.000
, 2.000
, and 1.000
; and the Texture Blur value to 0.100
, as shown in the following screenshot:EPIDERMIS
; connect its Color output to the Color input sockets of the Diffuse BSDF and Subsurface Scattering nodes and the two Glossy BSDF nodes.textures
folder, and load the sintel_skin_diff.png
image.ColorRamp_Spec1
and ColorRamp_Spec2
. Connect the Color output of the EPIDERMIS node also to the Fac input socket of both the ColorRamp nodes.0.550
position and the white color stop to the 0.000
position.0.100
position and the white color stop to the 0.000
position, as shown in the following screenshot:Hue Saturation Value DERMIS
, and paste it between the EPIDERMIS and Subsurface Scattering nodes. Set the Hue value to 0.470
, the Saturation value to 1.500
, and Value to 1.200
.BUMP
, and connect its Color output to the Height input socket of the Bump node, and the Normal output of this node to the Normal input sockets of the Diffuse BSDF node, of the two Glossy BSDF nodes, and of the Subsurface Scattering nodes.textures
folder, and load the sintel_skin_bmp.png
image. Set Color Space to Non-Color Data and the Bump node's Strength value to 0.100
, as shown in the following screenshot:In this recipe, we used a layered approach to build the human skin shader, but what does layered mean exactly?
It means that the shader tries to simulate the behavior of real human skin in the most effective possible way. I'm referring to the fact that the human skin is composed of several different overlapping and semi-transparent layers that reflect and absorb light rays in various ways, giving the reddish coloration to certain areas due to the famous subsurface scattering effect.
Now, a perfect reproduction of the real human skin model is not necessary; usually, it's enough to use different image maps for the key components of the shader, each one added on top of the other: the base color, the dermis blood layer, the specularity map, and the bump map.
In our case, we had at our disposal only two image maps, the sintel_skin_diff.png
color one and the sintel_skin_bmp.png
gray-scale map, which we used straight for the bump; we could have obtained the missing maps with the aid of an image editor (such as, for example, GIMP), but for the sake of this exercise, to obtain the required missing images, we used the nodes: so, starting from the EPIDERMIS layer, that is the color map, we obtained via the Hue Saturation Value DERMIS node the blood-vessel layer that lies beneath the epidermis, as shown in the following screenshot:
By the use of the two ColorRamp nodes and the two gray-scale versions for the specularity component, one sharp specularity map and a softer one are shown in the following screenshot:
Then, the sintel_skin_bmp.png
map has been connected to the Bump node for the per-shader bump effect.
Note that because we used the color map to obtain all the others, certain areas of the images are wrong; for example, the eyebrows, shown in pure white on the specularity maps, should have been removed. In any case, this doesn't show that much on the final render, and the result is more than acceptable.
18.226.200.172