Do you need help rendering Xgen hair?
PxrMarschner is a material designed to render realistic hair, fur, and fibers.
This is the same material and design used in many of Pixar's animated features provided to users rendering their own scenes. The controls are minimal and artist friendly. The material is also physically plausible so that artists can begin with a realistic result and refine their options based on art direction.
If you would like to dive into the technical details of the material you can see the Pixar Technical Memo 15-02 "A Data-Driven Light Scattering Model for Hair" by Leonid Pekelis, Christophe Hery, Ryusuke Villemin, Junyi Ling for more information. This document will describe the parameters with examples so that artists can begin creating immediately!
If you would like to follow along, you can download the example Autodesk Maya scene file using Xgen hair. This scene requires Maya 2016 SP5 and above and the latest RenderMan installation. Avoid renaming items as this may cause Xgen to fail to export hair.
The examples below will illustrate how changing parameters affects the look of the hair.
There are two choices of diffuse models: Zinke and Kajiya. By default, it is set to Zinke diffuse model which is for bidirectional scattering. See Importance Sampling for Physically-Based Hair Fiber Models.
This parameter is a multiplier to the Diffuse Color. 0.0 means no diffuse color while 1.0 is the full affect. The default is 0.0 which provides a very realistic dark to medium hair but with potentially higher rendering cost. You may need to use higher amounts for lighter hair like platinum blond or grey hair.
This is the diffuse color of the hair itself. Even for blond hair this is a darker shade than other color parameters for most realistic hair. For the best realism we recommend this be the same color as your Secondary Specular Color. The default is middle grey.
The bulk of your controls can be found under the Specular Parameters. Each of these relates in some way to the description below.
The Marschner specular model consists of three specular lobes using multiple specular transport paths shown above as directional arrows:
- Primary Specular: R is for "reflect" where light hits the surface of the hair and reflects. This is the strong primary colorless specular.
- Secondary Specular: TRT is for "transmit", "reflect", and "transmit" where light transmits through the hair surface, then it reflects from inside the hair and exits the front of the hair. This is the secondary colored specular.
- Transmit Specular: TT is for "transmit" and "transmit" where light transmits into the hair surface and then exits through the other side. This is the colored transmission that responds to rim lighting.
The Specular Gain controls allow the artist to break energy conservation for artistic purposes. If the values entered add to greater than 1.0 then the hair is not energy conserving. This is only important if you are unsatisfied with the look (it's too "hot") or are interested in starting with physically realistic shading.
Primary Specular Gain
Gain for the R lobe of Marschner specular. This is like a clearcoat where the specular is fairly sharp and glossy and normally not colored. This specular is a direct reflection which is not tinted by any volume attenuation. Modifications of the R lobe help to make a hair look "wet" as well.
Secondary Specular Gain
Gain for the TRT lobe of Marschner specular. This is a rougher and colored specular. This goes through the hair fiber volume twice.
Transmit Specular Gain
Gain for the TT lobe of Marschner specular. This is a transmission-type (refraction) specular with some volume attenuation. It goes through the fiber volume once. High values may increase noise.
Gain for glints.
Primary Specular Color
Specular color for tinting the Primary Specular (the R lobe).
Secondary Specular Color
Specular color for the TRT and glints lobes.
Because it represents two paths inside the hair fiber, it should be darker and more saturated than the Transmit Specular Color which technically is the square root of the Secondary Specular Color. For more realistic hair this should match with the Diffuse Color.
Transmit Specular Color
Specular color for the TT lobe. The below examples are set to Transmit Specular Gain of 1.0 with all other gain at 0.0
Primary Cone Angle
Cone angle (theta) for the R lobe in degrees. The broader the angle, the softer and broader the highlight.
Secondary Cone Angle
Cone angle (theta) for the TRT lobe in degrees. The broader the angle, the softer and broader the highlight.
Transmit Cone Angle
Cone angle (theta) for the TT lobe in degrees. The broader the angle, the softer and broader the highlight. Note that high gain for this parameter makes for soft and light colored hair but generates quite a bit of noise. This may increase render times at higher angles.