VRay Skin Mtl is a shader designed to realistically render skin. It does it very effectively by simulating the subsurface scattering effect of a non-hard surface object such as skin. In theory every object has some degree of subsurface scattering, in other words, light slightly enters a surface, scatters, and bounces back outside. This is the reason why we are able to see a light source placed behind our hand. In 3D rendering, simulating this effect is essential for rendering realistic skin.

Vray Skin Mtl is more accurate than VRay Fast SSS 2 and offers more control. In this interactive Vray Skin tutorial each attribute is dynamically simulated with a value range slider. The shader is widely used in the 3D industry for both 3D architectural renderings and 3D cartoon animations.

General Parameters

1
0
5
5

Scale

“Scale” is a multiplier of the subsurface scattering effect. It determines how many percentage of the shallow, medium, and deep scattering is used. A value of 0 doesn’t render the subsurface effect and treats the surface as a solid-diffuse object, notice how areas inside the nose and ears appear dark from the lack of subsurface scattering.

1
0
1
1

Max SSS Amount

“Max SSS Amount” is slightly different than “Scale” as it is not a multiplier but acts as a maximum limit for the subsurface amount. VRay ensures that the sum of the shallow, medium, and deep scattering is never higher than the Max SSS Amount. In this simulation however notice how by decreasing the value the skin paradoxically appears brighter. This is because the diffuse shading (which is brighter) takes place of the subsurface scattering.

1
0
1
0

Max Reflection Amount

“Max Reflection Amount” limits the amount of primary and secondary reflections to the specified value. If the sum of the reflection values are higher than “Max Reflection Amount”, the values are re-normalized to not exceed the limit.

1
0
1
1

Opacity

“Opacity” determines the visibility of the object. This is mostly used as a silhouette technique for leaves and branches.

Diffuse

1
0
360
0

Diffuse Color

“Diffuse Color” is the real, tangible color of the skin. Keep in mind that the diffuse color of the skin should be a bit paler than from how it appears when looking at a real person. The reddish color should come from the subsurface scattering.

1
0
1
1

Diffuse Amount

“Diffuse Amount” defines the amount of diffuse color. Notice how the more you decrease this value, the more the subsurface scattering effect appears.

Shallow Scattering

1
0
360
0

Shallow Color

“Shallow Color” is the color rendered at superficial skin areas, mostly visible at the tip of the nose and lips. Notice in the simulation how by altering the Shallow Color the deep color inside the ears remains unchanged.

1
0
1
1

Shallow Amount

“Shallow Amount” is a multiplier of how much of the “Shallow Color” is used. Notice how by lowering the value the face appears more cyan. This is because cyan is the opposite color of red.

1
0
1
1

Shallow Radius

“Shallow Radius” is the distance in cm of how far light scatteres within the shallow layer. Notice how a value of 0 causes the surface to appear cyan, because it is the opposite color of red. By gradually increasing the value you cause the reds to spread in deep areas such as inside the ears.

Medium Scattering

1
0
360
0

Medium Color

“Medium Color” is the color rendered at meidium skin areas. Notice in the simulation how by altering the Medium Color the deep color inside the ears remains unchanged.

1
0
1
1

Medium Amount

“Medium Amount” is a multiplier of how much of the “Medium Color” is used. Notice how by lowering the value the face appears more magenta. This is because magenta is the opposite color of green.

1
0
1
1

Medium Radius

“Medium Radius” is the distance in cm of how far light scatteres within the medium layer. Notice how a value of 0 causes the surface to appear magenta, because it is the opposite color of green. By gradually increasing the value you cause the greens to spread in deep areas such as inside the ears.

Deep Scattering

1
0
360
0

Deep Color

“Deep Color” is the color rendered at deep skin areas. In this simulation you can notice the deep color being changed inside the ears.

1
0
1
1

Deep Amount

“Deep Amount” is a multiplier of how much of the “Deep Color” is used. Notice how by lowering the value the face appears more yellow. This is because yellow is the opposite color of blue.

1
0
10
10

Deep Radius

“Deep Radius” is the distance in cm of how far light scatteres within the deep layer. Notice how a value of 0 causes the surface to appear yellow, because it is the opposite color of blue. By increasing the value you cause the blue to be visible only inside deep areas like inside the ears, while the rest of the face gains color from the shallow and medium attributes.

Primary Reflection

1
0
360
0

Primary Reflection Color

“Primary Reflection Color” is the color of the first reflection layer. VRay Skin Mtl provides two distinctive reflection layers as one might be used for a soft, overall specular layer and a second one for sharper highlights on areas like lips or humid skin. Note that skin reflections might sometimes appear to be slightly bluish. It is recommended to apply a texture map for this parameter in order to include wrinkles and bump details.

1
0
1
0

Primary Reflection Amount

“Primary Reflection Amount” is the intensity of the primary reflection layer.

1
0
1
1

Primary Reflection Glossiness

“Primary Reflection Glossiness” defines how sharp-glossy or matte-blurry primary reflections appear.

1

Primary Reflection Subdivs

“Primary Reflection Subdivisions” are the number of samples used to calculate reflections. When reflections become stronger and more blurry they tend to appear noisy and a higher number of samples is needed to remove the artifact. In shaders such as VRay Mtl this parameter always needs to be carefully adjusted and in many cases at extremely high values. Because skin has very subtle reflections and already has a bumpy and noisy nature, reflection subdivisions are basically never needed to be increased. In this simulation in fact the reflection amount and blurriness were increased at unrealistically high values for demonstration purposes to see some noise.

1 ON

Primary Reflection Fresnel

“Primary Reflection Fresnel” is by default On and calculates reflections based on the Fresnel equation. This states that materials reflect more when viewed at low angles than from the front. In this simulation you can see that by turning this attribute Off the face becomes equally reflective and therefore too much from the front.

1
1
10
1

Primary Reflection Fresnel IOR

“Primary Reflection Fresnel IOR” controls how much light is deviated when bouncing off the material. A value of 1 causes no change in direction, meaning that it has the same density as air. By increasing the value the front surface becomes more reflective. In other words, increase this value if you wish the material to be more reflective, and decrease the value if you wish it be only be reflective only at low angles (edges) but not from the front.

Secondary Reflection

1
0
360
0

Secondary Reflection Color

“Secondary Reflection Color” is the color of the second reflection layer. VRay Skin Mtl provides two disticnt reflection layers as one might be used for a soft, overall specular layer and a second one for sharper highlights on areas like lips or humid skin. In this interactive simulation notice how the primary white reflection layer remains unchanged while only the secondary, slightly more glossy layer is affected.

1
0
1
0

Secondary Reflection Amount

“Secondary Reflection Amount” is the intensity of the secondary reflection layer.

1
0
1
1

Secondary Reflection Glossiness

“Secondary Reflection Glossiness” defines how sharp-glossy or matte-blurry secondary reflections appear.

1

Secondary Reflection Subdivs

“Secondary Reflection Subdivisions” are the number of samples used to calculate reflections. When reflections become stronger and more blurry they tend to appear noisy and a higher number of samples is needed to remove the artifact. In shaders such as VRay Mtl this parameter always needs to be carefully adjusted and in many cases at extremely high values. Because skin has very subtle reflections and already has a bumpy and noisy nature, reflection subdivisions are basically never needed to be increased. In this simulation in fact the reflection amount and blurriness were increased at unrealistically high values for demonstration purposes to see some noise.

1 ON

Secondary Reflection Fresnel

“Secondary Reflection Fresnel” is by default On and calculates reflections based on the Fresnel equation. This states that materials reflect more when viewed at low angles than from the front. In this simulation you can see that by turning this attribute Off the face becomes equally reflective and therefore too much from the front.

1
1
10
1

Secondary Reflection Fresnel IOR

“Secondary Reflection Fresnel IOR” controls how much light is deviated when bouncing off the material. A value of 1 causes no change in direction, meaning that it has the same density as air. By increasing the value the front surface becomes more reflective. In other words, increase this value if you wish the material to be more reflective, and decrease the value if you wish it be only be reflective only at low angles (edges) but not from the front.

Multiple Scattering Options

Multiple Scattering

“Multiple Scattering” determines the model used by Vray to render subsurface scattering. The three different methods affect the accuracy and render time.
Prepass-based illumination map pre-computes an illumination map on the object’s surface. This method renders quite fast because VRay only calculates areas directly visible to the camera and also regulates the amount of calculations proportional to how much screen space the object occupies. The downside of this method is that subsurface scattering areas outside the screen don’t contribute to the result and therefore the result might appear unrealistic or impartial. Also, because the result depends on the camera position and object’s size, flickering is possible in animation. Objects far away from the camera might also be insufficiently sampled.
Object-based illumination map also pre-computes an illumination map on the object’s surface. The difference is that the amount of samples is determined by a fix density value, this solves the problem of under sampling far from camera objects that would otherwise happen with the prepass model. The downside however is that this method could utilize much more density points than strictly needed for the render. Keep in mind that you also have the “Preview Samples” option available to display these sample points on your rendered image.
Raytraced is the default and most accurate subsurface scattering model but also the slowest one to render. It casts rays within the object to realistically calculate scatterings.

1 OFF

Scatter GI

“Scatter GI” is by default Off and determines whether or not Global Illumination is taken into account to calculate subsurface scattering. In this example, for the purpose of demonstrating the effect, the face is placed inside a box to isolate it from direct illumination so that only indirect light reaches it. You can see that when Off, GI only affects the diffuse of the object. When on, GI contributes to the subsurface scattering which you can see by how areas inside nose, lips, and ears gain illumination. This option is rarely used as it usually doesn’t significantly affect the render.

1 OFF

Raytraced Scatter Textures

“Raytraced Scatter Textures” is by default Off and determines whether or not textures applied to the shallow, medium, and deep layer are affected by subsurface scattering.

1

Raytraced Subdivs

“Raytraced subdivisions” control the number of samples used to calculate raytraced subsurface scattering. In this example in order to see noise the scattering is set to a very bright value.

1

Prepass Rate

“Prepass Rate” determines the resolution of the pre-computed illumination map when “Multiple Scattering” is set to “Prepass”. The values affect the resolution proportionally where -1 stands for half of the image resolution, 0 at screen resolution, 1 at double screen resolution and so on.

1

Prepass ID

“Prepass ID” is by default set to 0 and means that each individual Vray Skin Mtl shader uses its own illumination map. In this example the face shares 3 different skin shaders: orange, blue, and green. Notice how they appear to be detached from each other because they don’t pass illumination and shading between each other. By setting a Prepass ID different than 0, you define which shaders are to share the same illumination map, so if all 3 shaders have an ID of 1, a single map is generated for all of them. The default value of 0 means that each shader uses its own, distinct illumination map.

1

Interpolation Accuracy

“Interpolation Accuracy” is by default set to 1 and uses the maximum quality of the approximation for the subsurface scattering effect. Lowering the value decreases render time but too low values can cause blocky artifacts on the surface.

1 OFF

Auto-calculate Density

“Auto-calculate Density” can be activated to let VRay attempt to find an ideal density of the illumination samples.

1
0
128
0

Samples Per Unit Area

“Samples Per Unit Area” determines the numer of illumination samples per unit area of the object. Higher values produce more accurate results at the expense of  increased render time. You can activate the “Show Samples” attribute to have a visual representation of the used samples.

1

Surface Offset

“Surface Offset” specifies a small distance above the surface where the illumination is calculated. The default value is 0.001 and can be increased if surface acne artifacts start to appear.

1 OFF

Preview Samples

“Preview Samples” can be activated to have a visual representation on the rendered image of the illumination samples.

1
0
1
0

Max Distance

“Max Distance” doesn’t affect the render but is only used in conjunction with “Preview Samples” to determine the size of the visualized samples.

Background Color

“Background Color” doesn’t affect the render but is only used in conjunction with “Preview Samples” to specify in which color the non-sampled area is rendered.

Samples Color

“Samples Color” has no effect on the render but is used in conjunction with “Preview Samples” to specify the color of the rendered samples.

Options

1 ON

Trace Reflections

“Trace Reflections” is by default On and allows Vray to compute primary and secondary reflection calculations. This option can be disabled to render only highlights and therefore speeding up shading calculations.

1

Max Reflection Depth

“Max Reflection Depth” determines the number of times rays bounce within the scene to compute reflection calculations.

1
0.001
1
0.001

Reflection Cutoff

“Reflection Cutoff” is a threshold below which Vray stops calculating reflections. It is recommended to leave this value at default 0.001 as it ensures most accurate results. Do not set this value to 0 because it might cause enormous render times by having rays infinitely bouncing within the scene. Notice how by increasing thisvalue reflections are gradually cutoff from the shader.

Bump and Normal Mapping

1 OFF

Bump Map

“Bump Map” allows you to plug a texture to simulate skin bevels and cavities.

1
-1
1
-1

Bump Mult

“Bump Multiplier” determines the amount of bump map. Negative values cause brighter pixels to bump invardly (cavities) while positive values outwardly (bumps).

1 OFF

Bump Shadows

“Bump Shadows” is by default Off and can be activated to have the bump map affect shadows. It is however recommended to keep this option deactivated as it increases render time.

Recent VisualCenter animations