Square Enix © Goodbye Kansas

Table of Contents

This page includes details on the Hair Sampler node used with Maya hair systems.


Overview


The VRayHairSampler is an utility node that provides extra output attributes which can be used when shading Maya hair, whether with Maya's own nHair system or other hair plugin for Maya.

Used with the VRayHairNextMtl material, this node allows you to map color, incandescence, and transparency along the length of a hair strand, as well as the ability to randomize such properties on a per-strand basis to create stunning hair looks.

For additional information on using this node, see the Hair Sampler Texture Setup page. The setup is similar to that of the the VRayFurSampler.

For fur rendering, the VRayHairNextMtl is used with the VRayFurSampler node instead.




Image courtesy of Eduardo Oliveira



Parameters


The Hair Sampler node contains the unique outputs listed below. These outputs are accessed by right clicking the node in the Hypershade window and selecting Show All Attributes or left clicking the output master port and selecting Other....

Distance Along Strand – Provides information about the shaded part of the hair strand. For the base of the strand, the value is 0.0, and for the tip it is 1.0. With this option, a texture can be mapped along each strand regardless of each strand's length.

Distance Along Strand Absolute – Provides information about the shaded part of the hair strand using absolute distance. This option uses the Hair Max Distance parameter to allow length-dependent mapping. For instance, when used with a gradient, this allows for all hair strands (regardless of length) to have a root color all up to the same length followed by the rest of the ramp. Note that when Hair Max Distance is lower than the actual length of the hair strand, the gradient is repeated over the length of the hair strand.

Hair Color – Provides information about the diffuse color along the hair strand.

Hair Incandescence – Provides information about the incandescence color along the hair strand.

Hair Transparency – Provides information about the transparency along the hair strand.

Position Across Strand – Allows textures to be mapped across each strand.

Random By Strand – Provides an unique random floating point value for each strand in the hair system, which allows shading each strand with a random color sampled from a texture.

Hair Max Distance – Allows the user to set the max strand length when using Distance Along Strand Absolute. Typically, this value should be equal to the longest strand of hair. This option is mappable, allowing different parts in a hair system to have different max lengths.


Common Setup


The V-Ray Hair Sampler is set up by connecting an output from VRayHairSampler to a 2D driven texture; which is most commonly a Maya ramp node. This example shows VRayHairSampler's Random By Strand attribute to control the V channel of a ramp connected to a VRayMtl's Diffuse Color parameter.





The ramp is driven by the randomByStrand parameter
The ramp is connected to the VRayMtl's Diffuse Color
Multiple Colors set with no interpolation


Resulting Render




Here, VRayHairSampler is used to create variation in the color along the length of a fur's strand to give fur a more natural look. This is done by using the VRayHairSampler's Distance Along Strand attribute to control the V channel of a ramp connected to a VRayMtl's Diffuse Color parameter. Note that the full ramp is mapped along each strand regardless of the strand's length.




The ramp is driven by the distanceAlongStrand parameter
The ramp is connected to the VRayMtl's Diffuse Color
Multiple Colors set with smooth interpolation


Resulting Render




This example uses the VRayHairSampler's Distance Along Strand Absolute attribute. Similar to the previous example, it controls the V channel of a ramp connected to a VRayMtl's Diffuse Color parameter. However, this attribute uses the Hair Max Distance to allow length-dependent mapping. The renders below use the same setup and ramp but with different Hair Max Distance values. Note that when Hair Max Distance is lower than the actual length of the hair strand, the gradient is repeated over the length of the hair strand.


The ramp is driven by the distanceAlongStrandAbsolute parameter
The ramp is connected to the VRayMtl's Diffuse Color
Multiple Colors set with smooth interpolation




Hair Max Distance set to 8.0
Resulting Render




Hair Max Distance set to 22.0
Resulting Render




This final example uses the VRayHairSampler's Position Across Strand option. Unlike the previous examples, it controls the U channel of a ramp connected to a VRayMtl's Transparency parameter. Note how the hair color looks more transparent at the end of each hair compared to the other render which did not use a ramp.



The ramp is driven by the Position Across Strand parameter
The ramp is connected to the VRayMtl's Transparency
Multiple Colors set with Linear interpolation



With
Without






Notes


  • When using ramps, there is a strict correlation between plugging VRayHairSampler into a vCoord and using vRamp, as well as alternatively uCoord + uRamp.