Description:
This plugin offers
Maya artists a Skin Shader that can be used to produce
photorealistic human skin tones. It is based on the
natural behavior of light interacting with skin.
For installation
instructions refer to the README file included in the
download.
Attributes of
the Skin Shader
The Skin shader has
the following attributes:
Epidermis:
transparency values of the epidermis (the thin layer
that determines the race of someone or amount of
tanning). Values are between 0 and 1 for the three r, g
and b channels
Dermis:
"albedo" of the thicker dermis layer under the
epidermis. The albedo determines the amount of
scattering in the dermis. 0 = no scattering, 1 = only
scattering (no absorbtion of light). There are three
values for each color channel.
Anisotropy:
determines if the scattering in the dermis is uniform
(0) or strongly forward scattering (1).
Roughness:
roughness of the skin's surface (values between 0 and
0.9), 0 = no roughness (mirror), 0.9 = very
rough.
Ambient:
between 0 and 1. Contributions due to ambient lights
(requires an ambient light in the scene to have any
effect at all).
SubSurface:
range between 0 and 1000, can be used to scale the
contribution due to the dermis.
Surface: can
be used to scale the contribution from the surface
itself (range 0 - 1)
Normal
Camera: can be used to bump map the skin shader.
Simply assign a texture to it.
Known
Limitation: "hardware shading" does not properly
represent the final rendered result.
About the Skin
Shader
This plugin places a Skin
Shader in Maya's Hypershade.
The light coming
off of human skin is composed of light directly
reflected from the skin's surface and light which has
been scattered and absorbed in the two layers beneath
the skin's surface - the epidermis and the
dermis.
The epidermis layer
determines the "race", which depends on the amount of
melanin. The dermis layer is composed mainly of blood
vessels, collagen fibers, fat, etc... The optical
properties of each skin layer are assumed to be constant
and are modelled by the albedo W, anisotropy
factor g and transparency T.
The albedo is a
number between 0 and 1 which gives the fraction of light
that is scattered at each interaction of a photon with
the material of the layer.
The anisotropy
factor models the directionality of the scattering:
g=0 means isotropic scattering, while g>0
models predominently forward scattering (g<1).
The transparency is
a number between 0 and 1 which determines the fraction
of light which traverses the layers that is not
scattered or absorbed by that layer.
Each of these
parameters depends on the wavelength of the incoming
light: red ~ 670nm, green ~ 550nm and blue ~ 430nm.
Typical values for these parameters are:
|
albedo
W |
anisotropy
g |
transparency
T |
epidermis |
0.84 - 0.96 |
0.72 - 0.79 |
0.14 - 0.33 |
dermis |
0.89 - 0.98 |
0.72 - 0.82 |
0.00 -
0.00 |
Typical values for
the optical parameters for wavelengths: 337nm -
633nm
As is evident from
the table, the scattering is highly anisotropic and
important in both layers for the range of visible
wavelengths. This is what makes the problem of computing
the intensity coming out of skin so difficult. The
problem is further complicated by the fact that the
light is refracted and internally reflected at the
skin's boundary and that the interface is highly
irregular
In order to
simplify the model slightly, we do not model the
scattering in the epidermis. The epidermis is modelled
by a its transparency alone. The epidermis therefore
acts as a thin translucent coating just beneath the
skin's surface. Also from the table we observe that the
dermis is completely opaque and therefore the
transparency of this layer is equal to zero
(T=0).
The shader handles
ambient light sources by integrating a uniform
distribution of light incident on the skin surface. The
following figure illustrates the effect of an ambient
source and a spotlight on the skin's appearance.
+
=  |