DwaSkinMaterial

Overview


The DwaSkinMaterial is a specialized version of the DwaSolidDielectricMaterial intended to be used for skin. The only difference is that the extra clearcoat specular lobe is labeled as a moisture lobe and the clearcoat_bending attribute is removed.


Attribute Reference

Advanced attributes

specular

Float bindable
default: 1.0

enables/disables specular reflections (binary 0|1 for plausibility)

specular: 0 | 1

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.

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).

presence: 0 - 1

thin_geometry

Bool
default: False

enables proper shading of infinitely thin geometry such as paper or leaves.

Diffuse attributes

albedo

Rgb bindable
default: [ 1, 1, 1 ]

the overall surface color as seen from a distance (ie. diffuse color)

albedo: Rgb(red, orange, yellow, green, blue, purple)

bssrdf

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

0 for NormalizedDiffuse, 1 for Dipole, 2 for random walk

bssrdf: normalized diffusion vs dipole diffusion, random walk not shown

diffuse_roughness

Float bindable
default: 0.0

Roughness of the diffuse shading. If the value is zero a Lambertian model is used. If it's above zero the Oren Nayar model is used. Not compatible with subsurface scattering.

diffuse roughness: 0 - 1

diffuse_transmission

Float bindable
default: 1.0

multiplier on the amount of light that is transmitted through the surface.

diffuse transmission: 0 - 1

diffuse_transmission_blending_behavior

Int enum
  0 = “RGB”
  1 = “Monochromatic” (default)

Controls how diffuse transmission color attenuates diffuse reflection

diffuse_transmission_color

Rgb bindable
default: [ 0, 0, 0 ]

the color/amount of light that is transmitted through the surface.

diffuse transmission color: Rgb(red, orange, yellow, green, blue, purple)

enable_sss_input_normal

Bool
default: False

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

resolve_self_intersections

Bool
default: True

tries to resolve self-intersecting geometry automatically by only evaluating 'exiting' intersections for subsurface evaluations

scattering_color

Rgb bindable
default: [ 1, 1, 1 ]

the subsurface scattering 'falloff' color

scattering color: Rgb(red, orange, yellow, green, blue, purple)

scattering_radius

Float bindable
default: 0.0

the distance the light scatters beneath the surface. When 0 surface diffuse (lambertian or toon) is used

scattering radius: 0.01 - 0.11

show_diffuse

Bool
default: True

enables/disables diffuse reflectance

Emission attributes

emission

Rgb bindable
default: [ 1, 1, 1 ]

the energy emitted from this material

emission: Rgb(0, 0, 0) - Rgb(4.76, 0.02, 0.02)

show_emission

Bool
default: False

enables/disable emission

Fuzz attributes

fuzz

Float bindable
default: 1.0

fuzz mask

fuzz: 0 - 1

fuzz_albedo

Rgb bindable
default: [ 1, 1, 1 ]

Color of the fuzz highlights.

fuzz_normal

NormalMap
default: None

specifies an independent shading normal (normal map) for the fuzz lobe

fuzz_normal_dial

Float bindable
default: 1.0

controls the amount of infuence of the alternate fuzz normal

fuzz_roughness

Float bindable
default: 0.25

Lower values result in glancing angle highlights while higher values result in a broad, uniform coverage

show_fuzz

Bool
default: False

Enables/disables fuzz lobe

use_absorbing_fuzz_fibers

Bool
default: False

Specify whether dark fuzz fibers absorb energy or transmit it to the layers below.

Glitter attributes

glitter

Float bindable
default: 1.0

enables/disables glitter model (binary 0|1 for plausibility)

glitter_LOD_quality

Float
default: 0.5

controls quality of glitter at distances where individual flakes cannot be perceived; at lower values, approximation kicks in earlier

glitter_approximate_for_secondary_rays

Bool
default: True

use an approximation to shade glitter for non-mirror secondary rays

glitter_color_A

Rgb bindable
default: [ 1, 1, 1 ]

base flake color (use physical metallic color values)

glitter_color_B

Rgb bindable
default: [ 1, 1, 1 ]

base flake color (use physical metallic color values)

glitter_color_hue_variation

Float bindable
default: 0.0

introduce hue variation in flake color centered at the base flake color's hue on the hue wheel

glitter_color_saturation_variation

Float bindable
default: 0.0

introduce saturation variation in flake color centered at the base flake color's saturation

glitter_color_value_variation

Float bindable
default: 0.0

introduce value variation in flake color centered at the base flake color's value

glitter_compensate_reference_space_deformation

Bool
default: True

(In ReferenceSpace) Compensates for stretch/compression/shear in glitter shapes resulting from animation etc

glitter_debug_mode

Int enum
  0 = “off” (default)
  1 = “blend”
  2 = “color”
  3 = “averageColor”
  4 = “footprintArea”
  5 = “radius”

developer debug visualization modes

glitter_density

Float bindable
default: 1.0

controls the number of flakes per unit length; larger density packs more flakes into same space

glitter density: 10 - 20

glitter_jitter

Float bindable
default: 1.0

Controls how much the flakes are randomly offset from a regular grid

glitter_layering_mode

Int enum
  0 = “physical” (default)
  1 = “additive”

layering mode for glitter on top of the under material. physical: conserves energy and glitter attenuates under material, additive: breaks energy conservation but glitter is never darker than the under material (eg. use case: snow)

glitter_randomness

Float
default: 0.5

randomness of flake orientation

glitter_roughness_A

Float
default: 0.14

specular roughness of individual flakes (0 makes flakes mirror-like)

glitter_roughness_B

Float
default: 0.14

specular roughness of individual flakes (0 makes flakes mirror-like)

glitter_seed

Int
default: 0

The seed for the glitter random number generator

glitter_size_A

Float bindable
default: 1.0

size of the flakes. Apparent flake size may vary based on how much the flake spheres intersect the surface

glitter size A: 0.02 - 0.12

glitter_size_B

Float bindable
default: 1.0

size of the flakes. Apparent flake size may vary based on how much the flake spheres intersect the surface

glitter_space

Int enum
  4 = “object”
  5 = “reference” (default)

The space to calculate the worley noise in, defaults to reference space

glitter_style_A_frequency

Float bindable
default: 1.0

0 implies none of this style, 1 implies all the flakes will get this style

glitter_style_B_frequency

Float bindable
default: 0.0

0 implies none of this style, 1 implies all the flakes will get this style

glitter_texture_A

String filename
default:

filename that points to a texture .exr or .tx file (must be mip-mapped and tiled with maketx).

glitter_texture_B

String filename
default:

filename that points to a texture .exr or .tx file (must be mip-mapped and tiled with maketx).

glitter_texture_orientation_randomness

Float
default: 0.15

randomly orient each texture

show_glitter

Bool
default: False

Enables/disables glitter lobes

Iridescence attributes

iridescence

Float bindable
default: 0.0

controls the strength of the iridescence effect

iridescence: 0 - 1

iridescence_apply_to

Int enum
  0 = “primary specular” (default)
  1 = “clearcoat/moisture specular”

Apply iridescence to primary specular lobe or clearcoat/moisture lobe

iridescence_at_0_incidence

Float bindable
default: 1.0

Iridescence effect at 0 degree viewing angle

iridescence at 0 incidence: 0 - 1

iridescence_at_90_incidence

Float bindable
default: 1.0

Iridescence effect at 90 degree viewing angle

iridescence_color_control

Int enum
  0 = “use hue interpolation” (default)
  1 = “use ramp”

use hue interpolation: automatically cycles through hue wheel, use ramp: user specified color ramp

iridescence_colors

RgbVector
default: [[ 1, 0, 0 ], [ 1, 1, 0 ], [ 0, 1, 0 ], [ 0, 1, 1 ], [ 0, 0, 1 ], [ 1, 0, 1 ], [ 1, 0, 0 ]]

List of colors on the ramp

iridescence_exponent

Float bindable
default: 1.0

Tightens or broadens the distribution of colors

iridescence exponent: 0 - 2.5

iridescence_flip_hue_direction

Bool
default: False

flip interpolation around the hue wheel to counter-clockwise direction

iridescence flip hue direction: true | false

iridescence_interpolations

IntVector
default: {}

None: 0 | Linear: 1 | Exponential Up: 2 | Exponential Down: 3 |
   Smooth: 4 | Catmull Rom: 5 | Monotone Cubic: 6

iridescence_positions

FloatVector
default: {}

ramp positions

iridescence_primary_color

Rgb bindable
default: [ 1, 0, 0 ]

First color to interpolate from around the hue wheel

iridescence primary color: Rgb(orange, yellow, green, blue, purple, red)

iridescence_ramp_interpolation_mode

Int enum
  0 = “RGB” (default)
  1 = “HSV”

RGB: lerp in RGB space which matches UI preview but can lose saturation, HSV: lerp in HSV space which preserves saturation

iridescence_secondary_color

Rgb bindable
default: [ 1, 0, 0 ]

Second color to interpolate to around the hue wheel

iridescence secondary color: Rgb(orange, yellow, green, blue, purple, red)

iridescence_thickness

Float bindable
default: 1.0

Controls how much the color spectrum is repeated

iridescence thickness: 0 - 5

Moisture attributes

independent_moisture_normal

NormalMap
default: None

specifies an independent shading normal (normal map) for the Moisture lobe

moisture_mask

Float bindable
default: 1.0

bind map here, higher values for oily zones

moisture_model

Int enum
  0 = “Beckmann”
  1 = “GGX” (default)

sets the normal distribution function for the moisture specular. GGX is currently isotropic only

moisture_normal_dial

Float bindable
default: 1.0

controls the amount of influence of the alternate Moisture normal

moisture_refractive_index

Float
default: 1.5

defines the Fresnel behavior of moisture, and all underlying skin layers

moisture_roughness

Float bindable
default: 0.25

roughness of moisture; binding a map here should rarely be necessary

show_moisture

Bool
default: False

enables/disables moisture reflections

use_independent_moisture_normal

Bool
default: False

specifies whether the moisture lobe should use an independent normal

Normal attributes

input_normal

NormalMap
default: None

specifies an alternate shading normal in the tangent frame (normal map)

input_normal_dial

Float bindable
default: 1.0

controls the amount of influence of the alternate normal

input normal dial: 0 - 1

Normal Anti-aliasing attributes

normal_AA_dial

Float
default: 1.0

Controls the amount roughness compensation from the normal map AA strategy.

normal_AA_strategy

Int enum
  0 = “none” (default)
  1 = “toksvig”

Normal map anti-aliasing strategy to use - 'none' uses regular mip-mapping, 'toksvig' increases specular roughness corresponding to the geometric details filtered out because of mip-mapping.

Specular attributes

anisotropy

Float bindable
default: 0.0

controls the shape of the primary reflection

anisotropy: -1 - 1

refractive_index

Float
default: 1.5

defines the Fresnel behavior, (affects reflection and refraction)

refractive index: 1 - 2.3

roughness

Float bindable
default: 0.5

the roughness of the surface (currently only affects reflection)

roughness: 0 - 1

shading_tangent

Vec2f bindable
default: [ 1, 0 ]

controls the orientation of anistropy

shading tangent: Vec2(1,0) - Vec2(0,1) - Vec2(-1,0) - Vec2(0,1)

show_specular

Bool
default: True

enables/disables specular reflections

specular_model

Int enum
  0 = “Beckmann”
  1 = “GGX” (default)

sets the normal distribution function for specular. GGX is currently isotropic only

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

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