:: Preliminaries ::

First of all, you must have lamps defined in your scenes. The script will detect them (whatever layer they are set in) and then calculate the Scattering effect according to their position from the object on which the scatter effect is intended.

The scattering is translated into Vertex Color Light information. Because of this, you have to toggle on the VCol Light button in the Material tab of the Shading (F5 key) menu.

Of course, the script can be runned for many objects in the same scene. You will have to make sure that the object you intend the Scattering effect for is selected while using the script.

  • Set at least one lamp
  • Set 'on' the VCol Light button for the material of the object to be effected
  • Make sure the object to be effected is selected

:: How to use the script ::

The use of the script is very straightforward. Split your 3D view in two half. In one of it, hit SHIFT+F1 key in order to append the script in it. Browse up to the location you unzipped the file MHsssbeta04.zip, and browse the MHsssbeta04.blend exactly as if it was a directory. Go in the Text directory, then select the MHsssbeta4.py file (right click on it, it should appear highlighted in blue) and import it (strike the ENTER key). Now turn the 3D view in a Text window using the SHIFT+F11 key. Click on the select-button button in order to choose between the available text files, and select MHsssbeta4.py. With the mouse cursor in this view, hit ALT+P to run the python script. The GUI of the script should now appear on the screen.

SSS-Gui

Setting the colors of the scatter effect:

  • Epidermal scatter:
    The three sliders (Rt, Gt, Bt) set the tangential color of the scatter effect, e.g. the dermal color. They range from 0 to 255. The color should be as close as possible to the the base material color.
  • Subdermal scatter:
    The three sliders (Rp, Gp, Bp) set the perpendicular color of the scatter effect, e.g. the subdermal color. They range from 0 to 255. For a human skin, the color should be red-like.

Setting the behavior of the scatter effect:

  • Scattering:
    This rules the diffusion of the scatter effect through the object effected, by increasing or decreasing the luminosity and contrast of the scattering effect. Low value will simulate a very local scattering effect, while a high value will produce a scattering effect diffusing more widely through the object's surface. Starting with a low value (e.g. 0,15) is a good idea. It could range from 0.01 to 1.00.
    scatter-test
    On this picture, only the Scatter value is changed (0.05 on the left, 0.15 on the middle, 0.35 on the right). The scatter effect grows in influence and intensity just as the Scatter value does.
  • Density:
    This sets the density of the material. The higher the density, the lower will get the scattering effect. The density is the same than the IOR for transparent objects. Here you can find an extensive list of material densities. For the script purposes, it could range from 0.01 to 4.00.
    density-test
    On this picture, only the Density value is changed (0.5 on the left, 1.5 on the middle, 3.0 on the right). The scatter effect is really more important when low Density is encountered, as light can propagate more easily than when density is high.
  • Light Received:
    This sets the amount of light received by the object to be effected. Starting with a low value (e.g. 0,20) is a good idea. It could range from 0.10 to 1.00. This button can help you compensate overlighting effects due to too strong SSS parameters.
    light-test
    The scatter effect is not changed by this parameter. The VCol Light information is simply multiplied (0.2 on the left, 0.6 on the middle, 1.0 on the right).
  • Iteration:
    This rules the quality and the intensity of the scattering effect. A high value will produce a scatter effect of good quality and high intensity, but to the price of longer calculations times. It could range from 10 to 50 and starting with a medium or low value (e.g. 15 to 20) can be quite time saving for your first tests!

    The scattering effect is softer as the Iteration value increases (10 on the left, 30 on the middle, 50 on the right), but the intensity of the scattering effect is also increased.

Utility buttons:

  • Exit:
    This button simply exits from the GUI of the python script. All values and settings are automatically discarded.
  • Save:
    This button lets you save the settings of the GUI. It's very convenient if you want to recall old values, or if you wan to run the script on multiple objects, each with their own settings.
  • Load:
    This button lets you load settings previously saved.
  • GO:
    This button starts the calculation of the scattering effect according to the settings of the GUI, on the object that is currently selected. It stores the result of its computations as VCol Light intensity.

:: Useful tips with this script ::

Finding the settings for getting good scattering effects could sometime become tricky. Just as with the Superficial Scattering script, you have to maintain a believable amount of lighting energy in your scenes, and sometimes, you will get some strange color artifacts you would like to get rid of. Harkyman put online a good paper showing his experimentations with the script, and his conclusions could be taken into account for your own scenes and material: Test Renders for MakeHuman SSS script Beta 0.4. Here are a few tricks that should help you out:

  • Maintaining the balance between the Scatter and the Density values:
    By increasing the Scatter value too much, you can get some strange colors artifacts. To get rid of them, you will have to maintain a good balance between the Scatter value and Density value. When both are strong, the artifacts are easy to spot. If you need high Scatter values, try to decrease the Density value. Obviously, in real world, it's frequently the case! Think of a paper lamp, lit from the inside by a bulb. The lamp will be mainly translucent due to the thin layer of the paper and its very light density: it has a high Scatter value and a low Density value.
  • Dealing with density values:
    If you have no clue about the density of a material, use your common sense and start with the water value: 1.33. Then increase or decrease the value, according to the material buoyancy: if a small ball of the material floats on water, decrease the density, if it drowns, increase it. Keep in mind that human body's density is not constant, even if made out of 70% of water, so tweaking this value in order to get eyes-friendly results will be needed anyway for most organic objects.
  • Maintaining the lighting balance:
    As the script writes SSS results as VCol Light information, after using the script, it will be clearly visible even in unlit or dark scenes. If you have strong lamps in your scenes, and perhaps also make use of Ambient Occlusion, then your object could quickly become overlit. To correct this, you can make use of many tricks: decrease the Light Received value; decrease the Ref value of the Material shader; decrease the Iteration value.