HairDiffuseMaterial

Overview

While HairMaterial_v3 covers photorealistic hair, sometimes artists might want a more matte or subtle appearance. HairDiffuseMaterial allows you to author hair without specular highlights, and can be blended with ordinary hair materials for more precise control.

For even more stylization, this material can also use subsurface shading to blur the light through the hair.


Attribute Reference

Advanced attributes

back_hair_color

Rgb bindable
default: [ 1, 1, 1 ]

(advanced only) hair color used for back-lit hair (transmission/forward reflectance)

front_hair_color

Rgb bindable
default: [ 1, 1, 1 ]

(advanced only) hair color used for front-lit hair (backward reflectance)

sss_trace_set

TraceSet
default: None

Set of geometries that contribute neighboring subsurface points. By default, only the geometry associated with this material contributes to subsurface. If you want adjacent geometry with different material to contribute as well, specify all those parts here.

use_independent_front_and_back_hair_color

Bool
default: False

(advanced) use a separate hair color for front and back

Common attributes

casts_caustics

Bool
default: False

allows continuation of caustic light paths.

presence

Float bindable
default: 1.0

controls the visibility of this object. Useful for fading an object in/out, or to specify a cut-out mask on thin single-sided geometry (eg. a complex leaf texture on a simple card).

Emission attributes

emission

Rgb bindable
default: [ 1, 1, 1 ]

the energy emitted from this material

show_emission

Bool
default: False

enables/disable emission

Subsurface attributes

bssrdf

Int enum
  0 = “normalized diffusion” (default)
  1 = “dipole”

0 for NormalizedDiffuse, 1 for Dipole. Random walk unsupported for hair.

enable_sss_input_normal

Bool
default: False

enables sampling the normal map for sss samples. More accurate but potentially expensive

input_normal

NormalMap
default: None

specifies an alternate shading normal (only for SSS lobe)

input_normal_dial

Float bindable
default: 1.0

controls influence of input normal versus hair normal for SSS

scattering_color

Rgb bindable
default: [ 1, 1, 1 ]

the subsurface scattering 'falloff' color

scattering_radius

Float bindable
default: 0.0

the distance the light scatters beneath the surface. When 0 surface diffuse is used

subsurface_blend

Float bindable
default: 1.0

0 is fully hair diffuse, 1 is fully SSS. No effect if scattering radius is 0.

General attributes

extra_aovs

Map
default: None

Bind this attribute to a 'ListMap' that contains references to ExtraAovMaps that specify additional outputs that can be assigned to a RenderOutput "light aov" result

hair_color

Rgb bindable
default: [ 1, 1, 1 ]

No documentation available

label

String
default:

label used in material and light aovs

priority

Int
default: 0

The material's place in an order of precedence for overlapping dielectrics. A value of 0 means the priority should be ignored. Materials with lower numbers (higher priority) "override" materials with higher numbers (lower priority). To enable automatic removal of self-overlapping geometry, a non-zero priority must be set on the geometry's material.

record_reflected_cryptomatte

Bool
default: False

Indicates whether the next reflected surface should appear in the reflected cryptomatte layers

record_refracted_cryptomatte

Bool
default: False

Indicates whether the next refracted surface should appear in the refracted cryptomatte layers