Principled Hair

Table Of Contents


Overview

The Redshift Principled Hair shader is a physically-based shader for hair and fur. You can quickly get up to speed with natural hair results by adjusting the melanin and melanin redness values. adding in some randomization by increasing the amount of variation for various color and roughness parameters.

 

Trace Depths

The look of hair is heavily affected by the reflection trace depth render setting. When hair is lighter in color a multi-scattering reflection effect becomes more pronounced, this means that light hair (lower melanin values) will generally require higher trace depth values than dark hair (higher melanin values). Hair that is driven by an albedo color behaves in the same way but hair that is diffuse is much less sensitive to reflection trace depth changes.

Reflection trace depth values that are too low may look nothing like their intended color. In the example videos below, note how significantly the look of the hair can change when trace depth values are low. However, since high trace depths can have a significant negative impact on render times it is important to find a good balance for your intended look as there are diminishing visual returns beyond a certain point.

Trace Depth: 1-32
Hair Color: Melanin 0.2

Melanin 0.65

Albedo Color: Light Pink

 

There are two ways to control the reflection trace depth of hair.

 

Parameters

 
 

General

Tint

This allows you to tint the color of the hair. The default white color leaves melanin and other color attributes to show through unaffected.

Tint color breaks physical accuracy and should be left at the default white for realistic hair so that specular highlights are not colored. To simulate dyed hair or other colors outside of the melanin color range and maintain physical accuracy please use albedo color instead.

Tint: White (Default)
Melanin: 0.65
Light Green Magenta

 

 

Roughness

Roughness controls how shiny the hair looks by tightening or spreading the reflection highlights along the length of the hair strands. Higher values result in more spread out diffuse reflections while lower values result in tighter more shiny highlights.

Roughness: 0-1

 

Roughness (radial)

Roughness radial controls how shiny the hair looks by tightening or spreading the reflection highlights across the width of the hair strands. Higher values result in more spread out diffuse reflections while lower values result in tighter more shiny highlights.

Roughness (Radial): 0-1

 

Angle Shift

Angle Shift moves the location of the highlights along the hair strands. Positive values shift the highlight position towards the root of the hair strands and negative values shift the highlight towards the tip.

Angle Shift: -15 to +15

 

IOR

This allows you to adjust the index of refraction, human hair has an IOR of 1.55. Higher values increase reflectivity.

IOR: 1-2

 

Samples

This defines the number of samples to use when rendering the hair, more samples means less noise. Lower hair roughness values produces sharper light reflections which will require using higher sample counts.


Color

Albedo Mix

This controls how heavily the albedo color is mixed with the melanin color.

For an albedo only color set Albedo Mix to 1.

Albedo Mix: 0-1
Albedo: Blue

 

Albedo

Albedo controls the color of the hair.

If you intend to simulate natural hair colors it is recommended to use the melanin/melanin redness color attributes instead of the albedo color.

Albedo Mix: 0.0
Albedo: Orange (default)
Melanin: 0.65
0.5
Orange (default)
0.65
1.0
Orange (default)
0.65
0.5
Blue (0,0,255)
0.2
0.5
Blue (0,0,255)
0.65
1.0
Hair Position + Color Ramp
0.65

 

Melanin

Defines the concentration of melanin in the hair. High values result in darker hair while a value of 0 will render the hair completely white.

Lighter colored hair benefits greatly from increasing the rendering trace depth so be certain to check reflection trace depth particularly for blonde hairstyles.

Melanin: 0.0 0.25 0.5 0.75 1.0

 

Melanin Redness

Defines the redness of the hair color by controlling the amount of pheomelanin in the hair. High melanin redness values result in redder hair.

Melanin value must be greater than 0.

Melanin Redness: 0.0
Melanin: 0.3
0.5 1.0

 

Variation

Variation Seed

Changing the variation seed value alters the results of all of the random variation attributes.

Variation Seed: 0 1 2

 

Glint Size

This controls the size of the reflection breakup on the hair.

Glint Size: 0-90


Glint Strength

This controls the intensity of the reflection breakup on the hair. Higher values result in more intense glint reflections and greater contrast in the hair.

Glint Strength: 0-1


Stray Hair Albedo

This controls the albedo color of the stray hairs.

Stray Hair Fraction must be greater than 0.


Stray Hair Fraction

This controls the ratio of normal hairs to stray hairs that use the stray hair albedo color. A value of 0 results in no stray hairs while higher values result in more stray hairs.

Stray Hair Fraction: 0-1
Stray Hair Albedo: Orange


Melanin Var.

Melanin variation randomizes the amount of melanin concentrated in the hair strands. Higher numbers increase the amount of melanin variation.

Melanin Var: 0.0 0.5 1.0

 

Melanin Redness Var.

Melanin redness variation randomizes the amount of melanin redness found in the hair strands. Higher numbers increase the amount of melanin redness variation.

Melanin Redness Var: 0.0 0.5 1.0

 

Roughness Var.

Roughness variation randomizes the amount of reflection roughness on the hair.

Roughness Var: 0.0 0.5 1.0

 

Roughness (radial) Var.

Roughness radial variation randomizes the amount of reflection radial roughness on the hair.

Roughness (radial) Var: 0.0 0.5 1.0

 

Diffuse Contribution

Diffuse Amount

Controls how diffuse the hair is and uses the diffuse albedo color. Higher values result in hair that is less translucent.

Real hair or fur does not have a diffuse component, however, increasing diffuse amount can be helpful when simulating dirty/damaged hair or other fibers that are not translucent. For the most realistic hair diffuse amount should be set to 0.

Diffuse Amount: 0-1
Diffuse Color: Brown


Diffuse Albedo

Controls the diffuse color of the hair when diffuse amount is set above 0. 

Diffuse Amount: 0.0
Diffuse Albedo: White

1.0
White

0.01
Light Green