Page tree

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 43 Next »

Contents

Do you need help rendering Xgen hair? Try this example file for Maya.

XgenExample.zip

 

PxrMarschner 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!

The examples below will illustrate how changing parameters affects the look of the hair.

 

 

 

Diffuse Parameters

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.

Diffuse Gain

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.

Diffuse Color

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 and adjust the gain alone. The default is middle grey.

 

Specular Parameters

The bulk of your controls can be found under the Specular Parameters. Each of these relates in some way to the description below.

Marschner Specular Model

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.

The default gain for the below Specular parameters is 0.33, however, they can all be set to 1.0 and that is preferred as they are not additive. This default will change to 1.0 in a future release.

 

 

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.


Glint Gain

Gain for glints. This is a multiplier for the effect of Glints and operates like the other gain controls.


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.

 

 

Specular Offset

Cone offset in degrees, this can be used to shift the specular result along the hair.

 

 

Refractive Index

The refractive index (ior) of the hair. Higher numbers increase the specularity similar to how this would work on opaque surfaces. This can make for an almost metallic looking hair fiber.

 

 

Fresnel Mix

This control is to balance the fresnel energy attenuation along the hair. 

 

 

Below are the named and user lobes from PxrMarschnerHair.

Named Diffuse Lobe

  • HairDiffuse

Named Specular Lobes

  • HairSpecularR
  • HairSpecularTT
  • HairSpecularTRT
  • HairSpecularGLINTS

User Lobes

  • HairAlbedo
  • HairTangent
  • Position