VRayHairMtl

This page provides information on the V-Ray Hair Material.


Overview

VRayHairMtl is a material that is primarily designed for rendering hair and fur. It can be used to render geometry generated through the VRayOrnatrixMod modifier, the VRayFur primitive, or the 3ds Max Hair&Fur modifier (when in mr prim mode).

images/download/attachments/38570786/Ludovic-Lieme_-_Fox_Tale_Compressed.jpg
© Ludovic Lieme

UI Path

||Material Editor window|| > Material/Map Browser > Materials > V-Ray > VRayHairMtl

Components of VRayHairMtl

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 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.

The image below illustrates the meaning of the three components:

images/download/attachments/38570786/HairMtl_1.png

General Parameters

images/download/attachments/38570786/max2018_VRayHairMtl_General.PNG



preset – Allows the user to choose one of several available preset materials. See the VRayHairMtl Presets example below for more information.

overall Multiplier – 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.

opacity – Controls the transparency of the material where white is opaque, and black is fully transparent. The opacity 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'tmake the strands thinner at the tip as well - transparency already creates the effect of thinning strands. You can enable the Opaque for Shadows and Opaque for GI options to reduce render times for transparent hair. Note that with transparent strands, it may be necessary to increase the Max. Transp. Levels option in the global V-Ray settings too.


Example: VRayHairMtl Presets


Here are some examples of the same hair geometry rendered with different presets. The scene is illuminated with one spherical V-Ray light, with GI set to brute force for the primary GI bounces, and light cache for the secondary, with retrace enabled.

images/download/thumbnails/38570786/HairMtl_3.png
White (matte)

images/download/thumbnails/38570786/HairMtl_4.png
Blonde (matte)

images/download/thumbnails/38570786/HairMtl_5.png
Red (matte)

images/download/thumbnails/38570786/HairMtl_6.png
Brown (matte)

images/download/thumbnails/38570786/HairMtl_7.png
Black (matte)

images/download/thumbnails/38570786/HairMtl_8.png
White (shiny)

images/download/thumbnails/38570786/HairMtl_9.png
Blonde (shiny)

images/download/thumbnails/38570786/HairMtl_10.png
Red (shiny)

images/download/thumbnails/38570786/HairMtl_11.png
Brown (shiny)

images/download/thumbnails/38570786/HairMtl_12.png
Black (shiny)

Diffuse Rollout

images/download/attachments/38570786/max2018_VRayHairMtl_Diffuse.PNG

diffuse – 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.

diffuse amount – Specifies the amount for the diffuse component of the material.

Note that real-world hair or fur does not have a diffuse component. Although the diffuse parameter allows for some artistic control, for realistic results, it is best to disable it by leaving the diffuse black.

Primary Specular Rollout

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

images/download/attachments/38570786/max2018_VRayHairMtl_Primary.PNG

primary specular – Specifies the primary specular color component. Normally this is dark gray.

primary specular amount – Specifies a multiplier for the primary specular color.

primary glossiness – Specifies 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 Rollout

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

images/download/attachments/38570786/max2018_VRayHairMtl_Secondary.PNG

lock to transmission – When 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 – Specifies the color of the secondary specular component. If Lock to Transmission is enabled, this value is ignored, and the secondary specular color is derived from the transmission color.

secondary specular amount – Specifies a multiplier for the secondary specular component. If Lock to Transmission is enabled, this value is ignored, and the secondary specular amount is derived from the transmission amount.

secondary glossiness – Specifies 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 Rollout

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

images/download/attachments/38570786/max2018_VRayHairMtl_Transmission.PNG

transmission – Specifies the color for the transmission component. When Lock to Transmission is enabled, this color determines the overall hair color.

transmission amount – Specifies the amount of the transmission component.

transmission glossiness length – Specifies the glossiness of the transmission along the hair strand length. See the Transmission Glossiness Length and Width Parameters example below for more information.

transmission glossiness width – Specifies the glossiness for the transmission component across the hair strand width. See the Transmission Glossiness Length and Width Parameters example below for more information.

The transmission of VRayHairMtl is stored in the Refraction render channel. If the Consistent Lighting Elements option is enabled, the transmission component is written in the Specular channel.

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.

images/download/thumbnails/38570786/HairMtl_17.png
Length: 0.87
Width: 0.98

images/download/thumbnails/38570786/HairMtl_18.png
Length: 0.85
Width: 0.95

images/download/thumbnails/38570786/HairMtl_19.png
Length: 0.95
Width: 0.85

images/download/thumbnails/38570786/HairMtl_20.png
Length: 0.98
Width: 0.87

Options Rollout

images/download/attachments/38570786/max2018_VRayHairMtl_Options.PNG

opaque for shadows – When enabled, the hair material is always opaque for shadow calculations. This speeds up the rendering of transparent hair.

opaque for GI – When 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 disabled, 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

images/download/thumbnails/38570786/HairMtl_22.png

images/download/thumbnails/38570786/HairMtl_23.png

images/download/thumbnails/38570786/HairMtl_24.png

images/download/thumbnails/38570786/HairMtl_25.png

GI is Enabled

images/download/thumbnails/38570786/HairMtl_26.png

images/download/thumbnails/38570786/HairMtl_27.png

images/download/thumbnails/38570786/HairMtl_28.png

images/download/thumbnails/38570786/HairMtl_29.png

Example: Strand Taper vs Transparency Mapping


This example shows how transparency mapping can be used to simulate hair thinning towards the tips with improved quality. Since transparency also increases render times, the VRayHairMtl material provides two options to optimize this - the Opaque for Shadows and Opaque for GI options allow to skip the transparency calculations for shadow and GI rays, thus speeding up the rendering.

For the first image, the thinning of the strands towards the tips was done by setting the Taper parameter of VRayFur to 1.0. The opacity of the hairs for the 2nd, 3rd and 4th image is done with the VRayHairInfoTex texture in the Opacity slot of the VRayHairMtl material, while keeping the Taper parameter in VRayFur to 0.0. The scene is illuminated with one point light with sharp raytraced shadows to better show the difference between the options. Note how opacity mapping improves the antialiasing of the hair, while still preserving the same overall look, at the expense of somewhat increased render times. However, the first image also required increased AA samples compared to the rest.

Note that using transparency for the strands may require increasing of the Max. Transp. Levels option in the global V-Ray settings, although it was not necessary for this particular case.

images/download/thumbnails/38570786/HairMtl_30.png
Hair geometry with taper.
Render time: 1m 6s

images/download/thumbnails/38570786/HairMtl_31.png
Hair geometry without taper, with opacity mapping.
Render time: 2m 14s

images/download/thumbnails/38570786/HairMtl_32.png
Hair geometry without taper, with opacity mapping, both Opaque for Shadows and Opaque for GI enabled.
Render time: 1m 46s

images/download/thumbnails/38570786/HairMtl_33.png
Hair geometry without taper, with opacity mapping, Opaque for GI enabled,
Render time: 1m 57s

Maps Rollout

The parameters in this section allow the various components to be mapped with textures. The VRayHairInfoTex texture can be used for mapping a parameter along the strand length or to get the color from the 3ds Max Hair & Fur modifier.

Advanced Rollout

images/download/attachments/38570786/max2018_VRayHairMtl_Advanced.PNG

light multiplier – Specifies a multiplier for the effect of direct illumination on the current material.

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.

  • To apply the VRayHairMtl material to a 3ds Max Hair & Fur modifier, use the mr Parameters section as described here.