Sub-Surface Scattering Guide Part 2

Welcome to the second part of my sub-surface scattering guide for 3dsMax and mental ray. In this epic tutorial we’re looking at how you can use mental ray’s Sub-Surface Scattering (SSS) tools in order to make your renders more realistic. This technique is often misused, misunderstood, and- if implemented wrong- can seriously affect your render times. After reading this tutorial you’ll walk away with a broad understanding of both the concepts behind SSS and how to implement it effectively in 3d Studio Max and mental ray.

Just like before, I’ll be explaining things from the perspective of a beginner/intermediate user.  You should know what mental ray is, how to enable it, and how to create new materials.  I’ll provide you with downloadable source files along the way so you can have a starting point for any complex effects.  I strongly recommend that you at least glance over the first part of this  SSS guide in order to make sure you have a strong understanding of the basic concepts before tackling this second section.

Remember that this guide is geared toward discussing what options are available in the 3dsMax implementation of mental ray, followed by detailed guidance on each material and shader type.  Toward the end of this section we’ll put these concepts into practice by manipulating renders step-by-step.

In part 1 of this tutorial we discussed

Then, in Part 2 of this tutorial we’ll discuss

You can download my starter scene here, though I’m not including the texture files because they’re copyrighted so you may get an error message.  Any complex materials I create will be provided through a scene file, too.

The SSS Physical Material & Shader

This material type is significantly different from the Fast SSS Material and Fast SSS Skin Material in that it’s a true scattering solution based on photons.  That makes it significantly slower and more difficult to work with and should only be used where absolutely necessary.  Consider the following from the mental ray manual:

The fast shader is recommended for:

  • leaves, grass, plastic, wax, butter,
  • human skin, such as backlit ears,
  • when rendering speed is important,
  • when memory is important,
  • materials into which light does not penetrate deeply.

The physical shader is recommended for:

  • jade, emerald, and other highly translucent minerals,
  • milk, blood, ketchup, ivory soap,
  • thick slabs of translucent materials,
  • anything where light scatters deeply,
  • when rendering accuracy is important,
  • experienced users to set up scenes for global illumination.

You’ll want to use the physical shader for highly refined renders like close-up products or more scientific renders and visualizations.  Otherwise the fast shader family has everything that you need.

Also I wanted to include a disclaimer for the images in this section.  The SSS Physical Material requires a lot of calibration in order to look good.  However this runs contrary to what I’m trying to do in this tutorial; to provide you with images that demonstrate only one change in a material with otherwise default settings.  That’s why some of these renders might be kind of ugly.

Now that the warnings are out of the way, let’s dig into the SSS Physical Material and get comfortable with the controls. In order for the SSS Physical Material to work properly, you must enable caustics generation.  Don’t forget to enable “All objects generate & receive caustics” if you don’t want to set up a more complex solution.

SSS Physical Material Parameter Definitions

We’ll begin by going over the SSS Physical material parameters and how they impact the material during renders. One thing to notice is that the SSS Physical material and the SSS Physical shader have the same parameter set.  This is because they’re basically the same thing.  The SSS Physical material is actually just a mental ray material that has the SSS Physical shader assigned to the “surface” and “photon” slots.  Since this is the case, we’ll only look at the material and I’ll leave exploring the shader component to you as homework.  See the image below.

sss-physical-material-vs-sss-physical-shader

The SSS Physical Material is identical to a mental ray material with instanced SSS Physical shaders in the Surface and Photon slots.

As with before, parameters that take color maps- like unscattered color- will be tested using the “rainbow map” you see along the bottom of the image below.  Parameters that take numerical maps- like front-surface scatter weight- will be tested using the “black-to-white” gradient ramp above the rainbow map.  Wherever I state values below an image, it’s referring to the gradient ramp and is read from left to right.  I.E. “Values are 0.0 to 1.0″ means that the left side of the dragon is 0.0 and the right side of the dragon is 1.0, with escalating values in between.

sss-fast-material-unaltered-render-final

This is the original render with the gradient ramps along the bottom.

Material

The material parameter controls what the surface properties of the SSS Physical material should be.  For example, if you put a DGS Material (3dsMax) shader in this slot, you’ll get a diffuse-glossy-specular control that you can use to make a ceramic-looking effect.  The image below uses our rainbow map.

sss-physical-material-material

This image has the rainbow map in the material map slot.

Transmission

Transmission controls the color that light takes as it passes through the material.  For example a character’s skin might have a reddish color for the transmission swatch, while a green wax candle would have a green color.  Remember that a white or grey color in the transmission slot will take on photons of all colors, rather than photons of one specific color.  This is why you’ll tend to see multi-colored splotches in the default SSS Physical material.

sss-physical-material-transmission

This image has the rainbow map in the transmission color map slot.

Index of Refraction

You should already be familiar with what index of refraction controls.  This will change how light is “bent” or refracted as it passes through the material.  A value of 1 is the equivalent to air and 1.33 is equivalent to water.

sss-physical-material-index-of-refraction

This image has a gradient ramp in the index of refraction map slot. Values are 0.0 to 1.5.

Absorption Coefficient

The absorption coefficient is a 3 part parameter that controls the absorption of light as it passes through the material.  Each component represents an RGB color value, not an XYZ direction value.

sss-physical-material-absorption-coefficient

This image has a gradient ramp in the absorption coefficient map slot. Values are 0.0 to 1.0.

Scatter Coefficient

Similar to the absorption coefficient, the scatter coefficient is also a 3 part parameter except this one controls the scattering of light as it passes through the material.  Again, each component represents an RGB color value, not an XYZ direction value.

sss-physical-material-scatter-coefficient

This image has a gradient ramp in the scatter coefficient map slot. Values are 0.0 to 1.0.

Scale Conversion Factor

The scale conversion factor operates the same way as it does for the SSS Fast Material.  Check out it’s effects below.  Notice that values too close to 0.0 cause errors- black areas where mental ray refuses to render the material.

sss-physical-material-scale-conversion-factor

This image has a gradient ramp in the scale conversion factor slot. Values are 0.0 to 3.0.

Scattering Anisotropy

The scattering anisotropy parameter controls how light travels once it enters the object.  The range of this parameter is between -1 and 1.  A value of zero means it travels the same in all directions.  A value above zero favors “forward scattering” where light prefers to continue going the way it’s is already going, while a value below zero favors “back scattering” where light prefers to bounce back the way it came.

sss-physical-material-scatter-anistropy

This image has a gradient ramp in the scatter anistropy slot. Values are 0.0 to 1.0.

Depth

The depth parameter controls how deeply light should penetrate the object.  As you can see in the image below, low values will force light to stay very shallow in the object making it glow and sparkle.  Values that are too high will cause light to get pretty buried in the object and dull the effect.  Finding a happy medium is key!

sss-physical-material-depth

This image has a gradient ramp in the scatter depth slot. Values are 0.0 to 1.0.

Max Samples

The max samples parameter controls how many samples to take during the rendering process.  You can increase this value in order to get smoother results but you’ll rarely have to go above 512.  I like to set this at 256 until I’m ready for a final render.

sss-physical-material-256-samples

This image has a the maximum samples value set to 256.

Max Photons

The max photons parameter controls how many photons should be sampled within the max radius during rendering.  I.E. if you have max photons set to 1,000 and max radius set to 5cm, then during render each sample will look around up to 5cm for photons and collect up to 1,000 photons.  Values up to about 1,000 should be fine.  I like to set this to 512 until I’m ready for a final render.

sss-physical-material-512-photons

This image has a the maximum photons value set to 512.

Max Radius

The maximum radius controls how far each lookup should go in searching for photons during render.  A low value means very little smoothing will happen to the solution so you’ll need high photons and samples.  A higher value will smooth out the effect allowing for faster renders, but if set too high it could look unrealistic or dull.

sss-physical-material-radius

This image has a gradient ramp in the max radius slot. Values are 0.0 to 1.0.

Lights

This is pretty straightforward.  It’s a list of include/exclude lights to help you refine the effect.  You can add lights to this list and control how they’re considered using the “mode” parameter.

Mode

Mode is an enumeration with only 3 settings so I’m not sure why it’s a spinner.  See the table below for what each mode means.

  • 0: The material considers all lights.  This is the default.
  • 1: The material uses the lights you specified inclusively.  I.E. mental ray will only use the lights you provided and nothing else.
  • 2: The material uses the lights you specified exclusively.  I.E. mental ray will use all lights except the ones you provided.

Using the Parti-Volume Shader for SSS

Now that we’ve gotten familiar with the SSS Physical material, we can look at one of the most over-looked SSS techniques- the Parti-Volume shader.  What’s tricky about the Parti-Volume shader is that it follows a different paradigm to the SSS Fast Material and SSS Physical Material.  Instead of considering light traveling through a medium it calculates light as though it were traveling through some murky volume like dusty air or muddy water.  This technique was originally presented by Jeff Patton in the CGTalk forums and it’s a pleasure to formalize his method in this tutorial.

The Parti-Volume Shader tends to be used for things like smoke or dust in the air, or cloudy water like in the ocean.  In our case, we’re going to use it for cloudy glass materials like muddy water, jade, or smoked glass.

The caveat to this technique is that it is painfully slow to render and is more of a theoretical exercise than anything else. You will be forcing your computer to render a really difficult material.  This is the price that you pay for the impressive realism of the technique.

Parti-Volume Shader Parameter Definitions

The diagram below shows you a basic mental ray material that’s been set up with “glassy” shaders in order to create a basic Parti-Volume material.  All of the changes made in this section of the tutorial are with the Volume Shader (Parti Volume (physics)).

sss-parti-volume-setup

Part-volume as SSS solution setup.

By setting the Extinction parameter in the Parti-Volume and Parti-Volume Photon shader to 0.35, (and all other parameters set to defaults) we get the image below.

mental-ray-parti-volume-original

This is the original parti-volume render.

You’re probably wondering what’s going on here.  That’s not sub-surface scattering in the way we’ve been discussing it so far.  With caustics disabled, this isn’t a photon-based solution and it’s not Fast SSS either.  Instead it is a shader that allows light to pass through it in the form of ray-tracing and falloff, making it a different kind of sub-surface illumination.  You’ll notice that it has that same “jelly-like” look that a strong SSS Physical material might provide.  Thus, in a way, this tool should be kept in the same toolbox as your sub-surface scattering abilities.  Take a look at the image below where you can really see the light scattering and diffusion in effect.  With the lights brought lower to a simpler model, you can really see the diffusion.  If we wanted to get really fancy, we could even apply blurry transparency to this material through the surface shader.

mental-ray-parti-volume-scatter-example

This image was taken with a gradient ramp in the extinction slot. Values are 0.0 to 1.0.

Mode

This mode parameter determines whether or not the height parameter is used.  If Mode is set to 0 then the material is the same throughout the entire volume.  If the mode is set to 1, then there is only cloudiness at the specified height or lower.

  • 0: Do not use the height parameter.
  • 1: Use the height parameter.

Scatter Color

The scatter color proved difficult to pin down since using the rainbow map in this slot caused the entire material to result in errors.  It turns out that procedural maps do alright, so I used a marble map below.

The documentation says that this map determines the color of the direct and indirect light that gets scattered. Apparently this is a multiplier of the photon energy for the photons in the photon volume map.

mental-ray-parti-volume-scatter-color

This image has a marble map in the scatter color slot. It wouldn't take a bitmap for some reason.

Extinction

This controls how much light is absorbed or scattered in the material.  A value of 0.0 means means totally clear air or material.  In this case, it would be clear glass. The higher you set this value, the denser the material will become (and the more scattering you’ll see). Note that a high extinction value won’t allow photons to enter deep into the object since they will have already been scattered.

mental-ray-parti-volume-extinction

This image uses a gradient ramp to control the Extinction value. Values are 0.0 to 1.0.

r

g1

g2

These three parameters control the scattering process.  If g1 and g2 are set to “0″ then you’ll get what’s known as isotropic scattering or diffuse scattering.  That’s where light is diffused in every direction as it passes through the material.  The reason there are three parameters is because mental ray uses a two-part model.

Think of g1 and g2 as scatter anisotropy from before.  They control whether light bounces mostly forward (high values of g) or mostly backward (values of g between 0.0 and -1.0).  r is a weighting factor that lets mental ray decide the importance of g1 vs g2.  g1 is multiplied by r while g2 is multiplied by (1 – r).

For example,

r = 0.5
g1 = 0.5
g2 = -0.25

will yield the anisotropic values of 0.25 and -0.125.

R, G1, and G2

This image uses a static r value (1) and g1 values are -1.0 to 1.0.

Non Uniform

This parameter spans between 0 and 1 .  Lower values mean a uniformly-distributed material (like haze or mist) while higher values introduce noise into the material like cloudy quartz.

mental-ray-parti-volume-non-uniform

This image has a gradient ramp controling the non-uniform slot. Values are 0.0 to 1.0.

Height

The height parameter is used in conjunction with the mode parameter.  When mode is set to 1, the height parameter determines at what point the “fogginess” of the material should stop.  I.E. a value of 1cm means that above 1cm the material should be clear.

mental-ray-parti-volume-height

This image has the height controlled by a gradient ramp. Values are 3.0 to 15.0.

Minimum Step Length

Maximum Step Length

Minimum and maximum step length control the quality of the effect.  This is very similar to how ordinary 3dsMax volumetric effects work.  A longer step length will decrease the quality of the effect and speed up your render.  A shorter step length will increase the quality of the effect while increasing render times, too.  Think of these in the same way as min/max samples in mental ray.

Below is a side-by-side comparison of a low quality render, the original render, and one with substantially higher quality (and a very long render time).

mental-ray-parti-volume-quality

This image has three significant differences in quality, the far right is the highest.

mental-ray-parti-volume-quality-high

This is the full high-quality render.

Light Distance

Light distance has to do with area lights and what level of sampling is used.  While there’s not much documentation on this subject, it has to do with how far lights are from the material in order to increase the area light sampling during render.

Min Level

Is ignored and does nothing.

No GI When Direct

When enabled, this will turn off rendering of GI information in the material.  Only direct illumination would be used in that case and it could speed up your renders if you don’t need GI in the material.

Lights

The light list you’re already familiar with by now.  It acts as an include-only list and, when deactivated, all lights are considered.

Conclusion

Well that’s the conclusion of this tutorial. We’ve gone over the major ways that you can get sub-surface scattering and volumetric effects in your materials. Be sure to leave me comments and I’ll update this guide if needed!

Sub-Surface Scattering Guide Part 1

In this epic tutorial we’re going to take a deep look at how you can use mental ray’s Sub-Surface Scattering (SSS) tools in order to make your renders more realistic.  This technique is often misused, misunderstood, and- if implemented wrong- can seriously affect your render times.  After reading this tutorial you’ll walk away with a broad understanding of both the concepts behind SSS and how to implement it effectively in 3d Studio Max and mental ray.

SSS Foggy Glass Example

SSS via parti-volume shader (Part 2)

I’ll be explaining things from the perspective of a beginner/intermediate user.  You should know what mental ray is, how to enable it, and how to create new materials.  I’ll provide you with downloadable source files along the way so you can have a starting point.

We’ll begin by getting a strong understanding of what options are available in the 3dsMax implementation of mental ray, followed by detailed guidance on each material and shader type.  Finally we’ll put these concepts into practice by manipulating renders step-by-step.

In part 1 of this tutorial we’ll discuss

Then, in Part 2 of this tutorial we’ll discuss

    You can download my starter scene here, though I’m not including the texture files because they’re copyrighted so you may get an error message.  Any complex materials I create will be provided through a scene file, too.

    What is Sub-Surface Scattering

    If you’re already familiar with what SSS is you can safely skip this section.

    Wikipedia really does the best job of explaining what subsurface scattering is:

    Subsurface scattering (or SSS) is a mechanism of light transport in which light penetrates the surface of a translucent object, is scattered by interacting with the material, and exits the surface at a different point. The light will generally penetrate the surface and be reflected a number of times at irregular angles inside the material, before passing back out of the material at an angle other than the angle it would have if it had been reflected directly off the surface. Subsurface scattering is important in 3D computer graphics, being necessary for the realistic rendering of materials such as marbleskin, and milk.

    Example

    Sub-surface scattering is most visible at thin geometry like between fingers.

    You’ve probably seen this effect before- like when you hold a flashlight over your fingers or the sun shines through your eyelids.  The light travels through your skin and gets scattered, taking on a reddish color.

    When enabled in a render it can have a subtle but dramatic impact on how your renders look.  Direct light sources will shine light on your object and, when configured correctly, mental ray will be able to scatter and color that light the same way that light would behave in real life.  Consider the images below.

    Dragon with SSS

    Stanford dragon with sub-surface scattering enabled.

    Dragon without SSS

    Stanford dragon without Sub-Surface Scattering but similar glossiness and specularity.

    What Sub-Surface Scattering Options Are Available

    mental ray in 3d Studio Max 2009 has four material-based sub-surface scattering modes and one “faked” mode.  These are:

    • SSS Fast Material
    • SSS Physical Material
    • SSS Fast Skin Material
    • SSS Fast Skin Material + Displace
    • Parti-Volume Material

    For the purposes of this tutorial, we’ll be considering the SSS Fast Skin Material and the SSS Fast Skin Material + Displace as virtually identical.  They’re only differentiated by the ability to add a displacement map.  Examples of each are shown below at default settings appropriate for the scene size.  We’ll go over material settings later in this tutorial.

    Sub-Surface Scattering Examples

    SSS Fast Material Example

    SSS Fast Material

    SSS Physical Material

    SSS Physical Material

    SSS Fast Skin Example

    SSS Fast Skin Example

    SSS Fast Skin + Displace Example

    SSS Fast Skin + Displace Example

    SSS Foggy Glass Example

    SSS Through Parti-Volume Example

    A Deep Dive into the SSS Fast Material

    Let’s begin with the simplest SSS material- the SSS Fast Material.  I’ll use a gradient ramp, a rainbow map, and a single render to demonstrate the effect of various parameters.  Note that I won’t render all of them because many of these parameters have to be pretty extreme in order to change the render.  Besides, 99.9% of the time you won’t have to alter parameters like Lightmap size or Falloff strength.

    Parameters that take color maps- like unscattered color- will be tested using the “rainbow map” you see along the bottom of the image below.  Parameters that take numerical maps- like front-surface scatter weight- will be tested using the “black-to-white” gradient ramp above the rainbow map.  Wherever I state values below an image, it’s referring to the gradient ramp and is read from left to right.  I.E. “Values are 0.0 to 1.0″ means that the left side of the image is 0.0 and the right side of the image is 1.0.

    unaltered render

    This is the original render with the gradient ramps along the bottom.

    SSS Fast Material Parameter Definitions

    Below are definitions for each parameter in the SSS Fast Material rollout.

    SSS Fast Material Rollout

    The Full SSS Fast Material

    SSS Fast Material (mi) Parameters

    The SSS Fast Material  (mi) Parameters give you high-level control over the quality of the SSS effect.

    Scatter Group

    All objects that should scatter light into each other should be in the same scatter group. To conserve memory, use as few scatter groups as possible. A person’s hands, face, etc. can use the same scatter group; even hands and faces of different people. In general, different scatter groups should be used only when using the same group would cause visible problems due to objects incorrectly scattering into each other. Two characters shaking hands, for instance, would need to have their hands in different scatter groups.

    Lightmap Size

    Lightmap size is the size of the lightmap as a percent of the total render size. The lightmap is based on screen space and 50% or less is usually enough (and it’s the default), but if edge artifacts start to appear, you can  increase this value.  You’ll rarely need to alter this value and it’s tough to get a change in your render while altering this parameter.

    Number of Samples

    Number of samples sets how many samples from the lightmap are used (maximum) per rendered ray.  Ideally this should be a power of two. 32 is probably the lowest useful value and 128 is plenty of resolution. However, if the scattering radii are really large then you may need to increase the samples in order to avoid any noisy artifacts.

    sss material samples

    10 samples on the left and 128 samples on the right.

    Bump Shader

    This should already be familiar to you.  You can apply a bump map to your material in order to add detail to your material.  One important thing to note is that bump mapping does not affect how your sub-surface scattering is calculated.  It only affects the color and specularity of the material. You should already know what bump mapping would do to this model so I think we’re good without a render.

    Diffuse Sub-Surface Scattering

    This parameter group is responsible for controlling the color and spread of light through the material.

    Ambient / Extra Light

    The ambient light controls is the ambient component as though it were an ordinary Standard material. This light will also be included in the lightmap and get scattered like any other light source which makes it the perfect place to add any HDRI light.  Here’re some good HDRI maps you could use.

    ambient light example

    An ambient light example using the rainbow map. Notice the purple color on the belly.

    Overall Diffuse Coloration

    All diffuse colors below are multiplied with this global color to yield the final result. This parameter is useful for coloring the final color of the material or to apply maps that change all light that hits the material. Moles on a character’s skin, for example, will block almost all underlying light (even scattered) and would make sense applied here.

    Overall diffuse coloration

    This image has the rainbow map in the overall diffuse coloration map slot.

    Unscattered Diffuse Color

    This is pretty straightforward.  Adding color to this map will only affect unscattered light and will color the model but less-so than overall diffuse coloration.  Compare the image above with the one below.

    Unscattered Diffuse Coloration

    The unscattered diffuse coloration using the rainbow map.

    Unscattered Diffuse Weight

    The weight control handles how significant the unscattered diffuse color should be in the final material.  In the image below, the low weights on the left reveal a material almost exclusively made up of sub-surface scattering. On the right the material has a high weight and is mostly the “white” color we used in the diffuse color swatch.

    Unscattered Diffuse Weight Example

    The unscattered diffuse weight parameter controlled by a gradient ramp. Values are 0.0 to 1.0.

    Front-Surface Scatter Color

    Front-Surface Scatter Weight

    These control the color and weight for the front surface scattering.  Front-surface scattering affects surfaces that are facing the light source and are directly illuminated.  Other than that, the controls are very similar to the ones we used on the unscattered component above.  Notice that when the weight parameter is very low (left side of the lower image), the material becomes almost an ordinary Standard material except for the back-scattering component.

    sss front-surface scatter color example

    Front-surface scatter color controlled by the rainbow map.

    SSS front-surface scatter weight example

    Front-surface scatter weight controlled by a gradient ramp. Values are 0 to 1.0.

    Front-Surface Scatter Radius

    The scatter radius controls how deeply the light should be scattered along the surface for light-facing areas of your material.  This value is in scene units so if you’re working in feet like the downloadable example then .5′ means 6 inches of spread.  Remember that this will get multiplied by the scale conversion factor discussed in the advanced parameters section.

    SSS Front-surface scatter radius example

    Front-surface scatter radius controlled by a gradient ramp. Values are 0.0 to 2.0'.

    Back-Surface Scatter Color

    Back-Surface Scatter Weight

    These are the color and weight for the back-surface scattering.  Back-surface scattering affects surfaces that aren’t facing the light source but are being indirectly illuminated through the surface of the object.

    sss-fast-material-back-surface-scatter-color

    Back-surface scatter color controlled by the rainbow map.

    sss-fast-material-back-surface-scatter-weight

    Back-surface scatter weight controlled by a gradient ramp. Values are 0 to 2.0'.

    Back-Surface Scatter Radius

    Back-Surface Scatter Depth

    These are the scatter radius and depth for light that reaches the back surface from an illuminated front surface. Normally, the radius and depth are set to the same value (and if the depth is not specified, it defaults to the radius).  I’ll include an extra render below.  Note that it’s difficult to get this parameter to invoke a change in the render- the default is 0.03′ and these renders go to 1 foot.  If you’re setting radius/depth to really high values you should consider changing the scale conversion factor instead!

    sss-fast-material-back-surface-scatter-radius

    Back-surface scatter radius controlled by a gradient ramp. Values are 0 to 1.0'.

    sss-fast-material-back-surface-scatter-depth

    Back-surface scatter depth controlled by a gradient ramp. Values are 0 to 1.0'.

    sss-fast-material-back-surface-scatter-radius-and-depth

    Back-surface scatter radius and depth controlled by a single gradient ramp. Values are 0 to 1.0'.

    Specular Reflection

    Specular Color

    Shininess

    The color and shininess control a regular Phong shader for the material specularity.  This should be pretty familiar to you from working with Standard materials.  The higher the shininess parameter, the higher the glossiness of your final material.  The specular color generally doesn’t need to be edited but there are some cases when it can be useful.

    sss-fast-material-specular-color

    Specular color controlled by the rainbow map.

    sss-fast-material-specular-level-10

    Specular level turned down to 10 from the default of 33.

    Advanced Options

    Lightmap Gamma Curve

    The lightmap gamma curve is the gamma of the lightmap. If this is 1.0, normal diffuse light is stored. If it is less than 1.0, the curve is ‘flattened’ causing the light to spread out towards areas not directly facing the incoming light. If it is higher than 1.0, the curve is ‘narrowed’ causing the light to concentrate in areas directly facing the light source. In most cases, a value between 0.4 and 0.8 is fine.

    Scatter Indirect Illumination

    If this checkbox is checked then the material includes any indirect lighting (photons, final gathering, etc) in the lightmap to be scattered. This takes additional render time and one should judge on a case-by-case basis if the indirect light is significant enough that seeing it scattered or not makes a big difference to justify the extra rendering time.  You also must turn this on in order to have your SSS material react to HDRI lighting via Final Gather or to caustics being cast by other objects.

    Scale Conversion Factor

    The scale conversion factor is the first place you should go when creating a new material.  It’s a simple multiplier for all distances in the material.  Scattering is distance dependent so loading a material designed for a model made in inches will not work on a model where the unit is meters, and vice versa.

    sss-fast-material-scale-conversion-factor

    Scale conversion factor controlled by a gradient ramp. Values are 1.0 to 0.

    Scatter Bias (+/- 1.0)

    If this is set to 0.0 the scattering is completely uniform.  Positive values favor forward scattering, and negative values favor back scattering.  Backscattering is where light begins traveling through a surface but then turns around and bounces back the way it came.The allowed range is -1.0 to 1.0, but the useful range is much smaller. A value of 0.1 (a slight bias toward forward scattering) is a good start.

    sss-fast-material-bias

    Scatter bias on the left image is unchanged, and on the right is -0.50. This biases light backwards.

    Falloff Strength

    This parameter sets the shape of the distance falloff along the scatter radius. Higher values will give you a more sudden falloff and lower values give a less sudden falloff.  Lower values will also make the scatter distance look shorter, so you might want to compensate by increasing the actual scatter distance for a ‘softer’ look. For high values (1.0 to 10.0), almost all of the samples in the scatter radius are equally weighted. For low values (0.1 to 1.0), the samples near the edge of the scatter radius are weighted less.

    sss-fast-material-falloff-strength

    Falloff strength controlled by a gradient ramp. Values are 0 to 1.0.

    ‘Screen’ (soft) Compositing of Layers

    When this is turned on the system will choose a softer compositing of the sub-surface scattering layers.  This must be turned off for photometric lights & photographic exposure control to look correct!

    Looking into the SSS Fast Skin Material

    That was intense. Now that we have a good hold on the basics of sub-surface scattering, let’s take a deeper look at the other material types and what makes them unique and useful. The SSS Fast Skin Material is very similar to the SSS Fast Material that we just learned about. This is because the SSS Fast Skin Material is like two materials layered on top of each other.

    The displacement map in the SSS Fast Skin Material + Displace is a simple 3d Displacement shader. There isn’t much information about what this shader does so I’ve written a quick post about the 3d displacement shader here.

    For the sake of keeping this tutorial as short as possible we’re going to look at the SSS Fast Skin Material + Displace because it’s a more functional version of the original Fast Skin Material.

    SSS Fast Skin Dragon

    SSS Fast Skin Material unaltered render (20% conversion factor).

    SSS Fast Skin Material Diffuse Layers

    The first major difference between the SSS Fast Skin Material and the SSS Fast Material is the extra front-surface scatter layer.  If you remember from earlier, the front-surface scattering has to do with light-facing surfaces and how light spreads across that surface rather than through it.  The reason for this extra layer is because skin and flesh diffuse light in a unique way compared to more homogeneous materials like stone or milk.

    Let’s have a look at what each of these layers looks like independently (without changing the defaults).

    Epidermal (Top) Layer Scatter

    Good values for the epidermal layer are a slightly yellowish color, a weight of 0.5, and a radius of around 0.2 to 0.4 inches.  Notice what a huge impact the epidermal layer has on the overall coloration of this material!  It’s pervasive but the default scatter depth is so low that much of the detail in the dragon’s scales is still there.

    sss-fast-skin-material-epidermal-layer

    This is the SSS Fast Skin Material epidermal layer isolated from the other layers.

    Subdermal Layer Scatter

    The subdermal layer operates in pretty much the same way as the epidermal layer (and the original SSS Fast Material).  This tends to be a deeper, reddish scattering effect.  A reddish/orangeish color with a weight of around 0.5 and a radius of 0.4 to 1.0 inches would be a good place to start experimenting.  Remember that if you’re setting the scatter radius unusually high or low, you may need to adjust your scale conversion factor!

    Notice in this render how much detail we’ve lost due to this component’s high scatter radius.  This is probably one of the biggest color components in the material.

    sss-fast-skin-material-subdermal-layer

    This is the SSS Fast Skin Material sub-dermal layer isolated from the other layers.

    Back-Surface (Through) Scatter

    As with the SSS Fast Material, this scattering represents light going entirely through the material.  You can set this scattering as deep as you need, but generally light doesn’t go through flesh very far.  In the image below you can see that the back-surface scattering isn’t a very heavy part of this example.  We could increase the weight manually in order to get more scattering in the dragon’s tail and claws.

    sss-fast-skin-material-back-surface-layer

    This is the SSS Fast Skin Material epidermal layer isolated from the other layers.

    SSS Fast Skin Material Specularity

    Primary Specularity

    The skin specularity functions are two-layered, allowing simulation of both the broad soft specularity of skin and any near-reflective specularities of top layer oiliness and wetness.  Notice that this layer is inherently blue-ish and is less glossy than the secondary specular layer.

    sss-fast-skin-material-specular

    This is the SSS Fast Skin Material primary specular layer isolated from the other layers.

    Secondary Specularity

    For skin, a good start is to have the primary specular layer with a very low shinyness (3.0 to 8.0) and a low level (0.1 to 0.3) and a slightly blueish color.  Then the secondary layer should have a high shinyness (20 to 100) and a medium level (0.3 to 0.6). Introducing mapping into the specularity channels can significantly enhance realism, too!

    sss-fast-skin-material-specular-2

    This is the SSS Fast Skin Material secondary specular layer isolated from the other layers.

    Whenever possible you’ll want to use the SSS Fast Material, yielding to SSS Fast Skin Material whenever you’re working on actual skin.  These materials are highly optimized for working with day-to-day needs like candle wax, soap, or stone.  In part 2 of this sub-surface scattering tutorial we’ll take a look at the SSS Physical material and shader, followed by how you can use Parti-volume to create more specialized effects.  You’ll want to advance to those materials for highly refined renders like close-up products or more scientific renders or visualizations.

    SSS Starter File

    Written July 5th, 2010
    Categories: Downloads, Scenes
    4 comments

    This is the starter scene file for the sub-surface scattering tutorial that’s going up tomorrow (part 1 at least).  You can download this file and get immediate results.  The material I’m using is the default SSS Fast Material with the following changes:

    • Turn on “Advanced options” > “Scatter indirect illumination”.
    • Turn off “Advanced options” > “‘screen’ (soft) compositing of layers”.
    • “Advanced options” > “scale conversion factor” is 0.3

    Consider rendering this with the Free High-Res HDRI Pack I’ve posted.

    Click this link to download the sub-surface scattering starter scene. It’s a regular object file. Just unzip it and import it into your scene.

    Sub-Surface Scattering Physical Material

    Written July 5th, 2009
    Categories: Effects, Materials / Shaders, Videos
    11 comments

    Hey everyone!

    This week, we’re going to be looking at how what we learned last week applies to the Sub-Surface Scattering (SSS) Physical Material in 3dsMax and mental ray.  They’re very similar, but the physical material gives you a little more control over the final outcome.  Since this is both a shader and a material type, what you learn here is applicable across many applications!

    Sub-Surface Scattering Setup

    Written July 1st, 2009
    Categories: Effects, Materials / Shaders, Videos
    8 comments

    Hey everyone!

    This week I’m doing a redux of my original Sub-Surface Scattering Monday Movie. The footage is clearer, and we’re taking a deep dive into how you can get started using the fast skin materials in 3dsMax and mental ray. Next week, we’ll be taking a look at the Sub-Surface Scattering Physical Material!

    Enjoy!

    Sub-Surface Scattering

    Written October 27th, 2008
    Categories: Effects, Materials / Shaders, Rendering / Compositing, Videos
    9 comments

    This is definitly the best Monday Movie yet. My tone is consistent, the video is clean and neat, and I barely had to do any audio editing at all. Eventually I might even get serious with these and start adding in watermarks and little intro “swoosh” logos or something!

    But anyway. This Monday Movie is about how you should go about starting to learn Sub-Surface scattering in 3d studio max. It can seem daunting at first, but I show you how to properly set up a scene for testing, and where you should start when using the material. It’s a great primer!

    Making of Cheese Platter

    I created this Cheese Platter using Autodesk Maya 8.5 and Adobe Photoshop. It is actually a photo concept derived partially from the image on right.

    Making of the Fruit Tarts

    Written June 18th, 2008
    Categories: Articles, Maya, Modeling, Offsite, Textures / Materials
    No Comments »

    “Hello, my name is Hau Ming (Jamie) Li, the female artist who created the Cheese Platter tutorial earlier. This is my second tutorial on food using Maya, Photoshop and rendered with Mental Ray. I will try to explain the process from photo concept to lighting the scene using Final Gather.”

    Making of Gladiator

    “Hello, this artwork created for CGArena 3d challenge where I won the second prize. This is the first contest where I joined and my first published artwork since I’ve started working as a 3D & Visual Effects Artist.”

    Making of the Alien Nature

    “Artist will explain about the workflow used to create the picture using Maya, ZBrush, Bodypaint, Renderman.”

    Designed by Alejo "Mr. Bluesummers" Grigera"
    ©2012 MrBluesummers.com