MaterialKey
Description
A MaterialKey defines the parameters that define the mapping from color values to material weights.
For each material ID, a MaterialKey is defined in the containing MaterialKeys object. For a given color, material weights are computed for each key and the weighted materials are then combined into a material token.
The weight w
for a material key is computed as follows:
-
The relative color distance
dst
is computed between the material key color (see Color) and the input color. The Colors.Distance_RGB_RGB method is used as metric. -
The distance
dst
is divided by the configured distance range (see Distance), which reduces the range of the material key. -
The distance
dst
is clamped using the configured clamp amount (see Clamp):dst = max(0, Clamp - dst) / Clamp
. This cuts off small material weights while retaining the full weight range. -
The distance
dst
is scaled by the configured weight (see Weight, yielding the final material weight. This affects how strong the material will be realized in relation to the other material keys.
Public / Attributes
Clamp
The relative clamp amount of this material.
A clamp amount less than one will cut off small material weights. A clamp amount greater than one will add small material weights.
Distance
The color distance range of this material.
The material has full weight where the color distance is zero. The weight drops to zero when this distance value is reached.
Material
The material ID in the range [0..255] or -1
if this material key is invalid (see IsInvalid).