Shaders: Principled Hair

Node Interface

Overview

Function Multi-purpose, physically-based shader for hair rendering
Nearest C4D equivalent Hair material

This is an alternative to the older Hair BSDF shader, with more functionality including different ways to colour hair and adjust the roughness.

Settings

Note: a * symbol next to the name indicates the parameter also has an input port. A # symbol indicates that the parameter can only be changed with an input node, not in the node itself.

Coloring menu

This menu allows you to select how the hair is coloured. The options are:

Direct Coloring

The 'Color' setting is used for the hair colour.

Melanin Concentration

In this mode, the colour is determined from the amount of melanin in the hair and the ratio between the two main pigments (black and red melanin).

Absorption Coefficient

This value determines how light is attenuated as it passes through the hair, so greater absorption results in a darker colour.

Color*

Only used when the coloring menu is set to 'Direct Coloring', this is then the colour of the hair.

Melanin*

Only used when the coloring menu is set to 'Melanin Concentration', The amount of melanin in the hair, ranging from 0 to 1.

Melanin Redness*

Only used when the coloring menu is set to 'Melanin Concentration', The ratio between the two melanin pigments, ranging from 0 to 1.

Tint*

Only used when the coloring menu is set to 'Melanin Concentration', this tints the hair. If it is set to white, it has no effect.

Absorption Coefficient*

The absorption coefficient to use in 'Absorption Coefficient' colour mode.

Roughness*

The roughness along the length of the hair. The hair becomes shinier as this value is reduced.

Radial Roughness*

The roughness across the hair. Changing this value will affect the size of the surface highlight on the hair.

Coat*

Increasing this value will reduce the roughness, but only for one light bounce, so giving hair the shiny look of a coat of fur.

IOR*

The index of refraction of the hair, where a value of 1 means the light does not change direction as it passes through the hair.

Offset*

This value alters the surface highlight by rotating the reflection of light from the hair.

Random Color*

This is a random value ranging from 0 to 1 for each hair strand, which varies the amount of melanin in the hair to give some natural colour variation.

Random Roughness*

This is a random value ranging from 0 to 1 for each hair strand, which varies the two roughness values in the hair to give some natural variation in roughness.

Random#

A random number seed input. If no other node is linked here, the random seed value is obtained from the Hair Info node.

Output

BSDF

A shader port which can be linked with shader ports on other nodes.