VRayHairMtl Overview


VRayHairMtl is a material that is primarily designed for rendering of hair and fur. It can be used to render geometry generated through the Softimage hair.

The material is based around three components - primary specular component, secondary specular component, and a transmission component.

A diffuse component is also provided for rendering of materials made up of cloth threads or other non-translucent fibers.

The image to the right illustrates the meaning of the three components:

The primary specular component represents light that is reflected off the outer surface of a hair strand. The secondary specular component represents light that goes through the hair strand and is reflected off the back surface. The transmission component represents light that goes through the hair strand.

 

 

 

 

 

 

VRayHairMtl General parameters


Preset - Allows you to choose one of several available preset materials.

Overall color - a common color multiplier for all color components in the material (except for opacity). Used to easily change the look of the entire hair material.

Transparency - controls the transparency of the material where black is opaque, and white is fully transparent. The transparency can be mapped along the hair strands using the VRayHairInfoTex texture. Making the hair more transparent towards the tip may produce more smooth and realistic anitaliasing at the expense of increased render times. If you map the tip opacity, make sure you don't make the strands thinner at the tip as well - transparency already creates the effect of thinning strands.

Diffuse Color - controls the diffuse component of the shader. Use this for materials made out of cloth threads or other non-translucent fibers, as well as for dirty hair. Note that clean hair or fur does not normally have a diffuse component, so in that case leave the parameter black.

Diffuse amount - the amount for the diffuse component of the material.

The primary specular component corresponds to light that is reflected off the outer surface of hair strands (see the figure above).

Primary specular parameters 


The primary specular component corresponds to light that is reflected off the outer surface of hair strands (see the figure above).

Primary specular - the primary specular color component. Normally this is dark gray.

Primary specular amount - a multiplier for the primary specular color.

Primary glossiness - the glossiness for the primary specular component. Values closer to 1.0 make the hair more shiny and sleek. Lower values give it a matted look.

Secondary specular parameters 


The secondary specular component corresponds to light that is reflected off the back surface of the hair strands.

Lock Secondary - if this is enabled (the default), the color for the secondary specular component is derived from the color of the transmission component. Since a ray of light goes twice through the hair width, the color of the secondary specular component can be computed by multiplying the transmission color with itself. When this option is enabled, the hair color is mostly determined by the transmission color component.

Secondary specular - the color of the secondary specular component. If Lock Secondary is enabled, this value is ignored and the secondary specular color is derived from the transmission color.

Secondary specular amount - a multiplier for the secondary specular component. If Lock Secondary is enabled, this value is ignored and the secondary specular amount is derived from the transmission amount.

Secondary glossiness - the glossiness for the secondary specular component. Values closer to 1.0 correspond to shiny and sleek hair. Lower values correspond to matted hair.

Transmission Parameters


The transmission component corresponds to light that goes through the hair strands.

Transmission - the color for the transmission component. When Lock Secondary is enabled, this color determines the overall hair color.

Transmission amount - the amount of the transmission component.

Transmission glossiness length - the glossiness of the transmission along the hair strand length.

Transmission glossiness width - the glossiness for the transmission component across the hair strand width.

Example: Transmission Glossiness Length and Width Parameters

This example shows the effect of the Transmission Glossiness Length and the Transmission Glossiness Width parameters. It shows a number of vertical strands (in this case, produced by VRayFur) lit from behind by a spherical light.

Note how each parameter changes the way light scatters along the length and the width of the strands. Higher values for the length glossiness compress the transmission highlight along the strand length, while lower values expand it.

Length 0.87
Width 0.98

Length 0.85
Width 0.95

Length 0.95
Width 0.85

Length 0.98
Width 0.87


Options


Opaque shadows - when this is enabled, the hair material is always opaque for shadow calculations. This speeds up the rendering of transparent hair.

Opaque GI - when this is enabled, the hair material is always opaque for GI calculations. This speeds up the rendering of transparent hair.

Simplify for GI - when enabled, a simplified diffuse version of the BRDF is used for GI calculations. This may speed up the rendering of hair but may significantly change the final look.

Use Cached GI - this option is similar to the Use irradiance map option for the VRayMtl material; if it is enabled, the hair material will always be calculated with brute force GI.

Example: Effect of GI on Hair

This example shows how important GI (multiple scattering) is for the appearance of hair, especially bright hair. The top row shows several of the presets rendered without GI, and the bottom shows the same scene when GI is enabled. Again, GI is brute force and light cache has retrace. The scene GI environment is black so that a spherical area light is the only light source.

GI is Disabled

GI is Enabled

Material ID


The Material ID group is described here.

Notes


  • The preferred method for rendering objects with the VRayHairMtl material is with GI enabled, Primary engine set to Brute force, and the Secondary engine set to Light cache with the Retrace threshold enabled. Because of the fine details in hair objects, the irradiance map may produce too much flickering in animations. 
  • Global illumination is vital for realistic rendering of hair, especially with bright hair color. 
  • Proper gamma workflow is essential for realistic rendering of hair.

Here is a list of links and references used when building the VRayHairMtl material.

  • [1] J. T. Kajiya, T. L. Kay, Rendering Fur with Three-dimensional Textures, SIGGRAPH'89: Proceedings of the 16th annual conference on Computer graphics and interactive techniques
    Presents one of the earliest shading models for rendering hair.
  • [2] S. Marschner, H. W. Jensen, M. Cammarano, S. Worley, P. Hanrahan, Light Scattering from Human Hair Fibers, SIGGRAPH'03
    An online version of this paper can be found at http://graphics.stanford.edu/papers/hair/
    Introduces a three-component shading model for hair which produces quite realistic results, but is somewhat difficult to control.
  • [3] I. Sadeghi, H. Pritchett, H. W. Jensen, R. Tamstorf, An Artist-Friendly Hair Shading System, SIGGRAPH'10
    An online version of this paper can be found at http://www.disneyanimation.com/library/a56-sadeghi.pdf
    Simplifies the three-component model from [2] and makes it easier for users to adjust the separate components.