Rombo.Skin comes with default parameters that are already good for realistic skin materials.
Let’s see the basic parameters and their impact on skin rendering.
Subsurface scattering profile. The function that describes how light enters an object, scatters around inside it, and then leaves the object is the BSSRDF, aka the bidirectional surface scattering reflectance distribution function. However it is never computed directly as a brute-force approach, in facts we consider the multiple-scattering as a diffusion problem. Now a diffusion implementation relies on a diffusion profile. We can consider the profile as the SSS mode, how light while diffusing in the material behaves. With the Volumetric mode it scatters radially, that also means that incoming light is considered directionally uniform. This generally gives a waxy look to the SSS material. With Directional instead we don’t assume directionally uniform incoming illumination for more realistic results. For skin rendering we’ll almost always use a Directional profile.
Mix is the parameter that controls the blend between diffuse and subsurface scattering. With a value of 0.0 we have no SSS computation at all, with a value of 1.0 we don’t have any diffuse instead. It’s used generally to limit a bit the SSS effect; for example we may map the mix parameter to some parts of the skin that have cosmetic make-up and render them a bit more dully.
Density is used to match the overall scale of the object. The higher the value the less the SSS effect. Default is 5 but depending on the scale of the object where we’re using rombo.skin we may have to increase it or decrease it for a plausible rendering.
Scale is a global multiplier for the layer radii. It’s here that we may plug a scalar map where to control the SSS effect over the whole surface. If we leave a bit more of SSS effect we can control that with a scale map in the 0-1 range, where we paint dark areas to have less SSS.
Once we have setup our layers with their appropriate colors and weights and radii, we can fine tune the skin overall appearance from with in the Options rollout.
One thing that will save us time and efforts while designing our skin material is the automatic diffuse texture plug-in for layers. It means that the diffuse texture is automatically plugged into the various layers and the layer color is then used to ‘screen’ the texture and give it a certain tint.
One thing that is not so much considered while modeling skin materials is that the diffuse texture of course contains already subsurface scattering, that also means that generally if used directly it gives too much saturation to the overall material. We can remove a bit of that saturation from the diffuse texture with the optional Saturation parameter. It’s easy to see that the first image (below), where we de-saturated a bit the SSS/diffuse texture, looks more realistic. Take care that it’s not the same as to de-saturate directly the diffuse texture (when Mix is less than 1.0).
With Saturation come also Hue and Value (lightness).
We then have reflections that have a classic implementation based on IOR. They come as Primary and Secondary but actually they can be used interchangeably. They use adaptive importance-based sampling, rough Fresnel and GGX distribution model.