Принципове Волосся BSDF – Principled Hair BSDF

Principled Hair BSDF node under Melanin concentration.

Cycles Only

The Principled Hair BSDF is a physically-based, easy-to-use shader for rendering hair and fur.

Порада

Realistic hair should have a minimum of variance between each strand. The shader allows for this by specifying two values, Random Color and Random Roughness, which remap the specified Melanin/Roughness values to the range \(Color/Roughness \pm Randomization\%\).

Inputs – Уводи

Color – Колір

The RGB color of the strand. Only used in Direct coloring.

Підказка

Вибраний колір конвертується у коефіцієнт поглинання за наступною формулою (секція 4.2 з [CBTB16]):

\[\sigma_{a} = \frac{\ln(Color)} {\left(5.969 - 0.215\beta_{N} + 2.532\beta_{N}^{2} - 10.73\beta_{N}^{3} + 5.574\beta_{N}^{4} + 0.245\beta_{N}^{5}\right)^{2}}\]

де \(\beta_{N}\) є радіальною шорсткістю волосся після застосування рандомізації (якщо вказано).

../../../_images/render_shader-nodes_shader_hair-principled_demo-color.jpg

Coloring hair using the Direct coloring parametrization. (The numbers on top are the RGB values.)

Меланін – Melanin

Absolute quantity of pigment. Range \([0, 1]\) equivalent to \([0\%, 100\%]\).

Підказка

Це прямолінійне розкладання по основоположній експоненціальній функції:

\[melanin\_qty = -\ln(\max(1.0 - Melanin, 0.0001))\]
../../../_images/render_shader-nodes_shader_hair-principled_demo-melanin.jpg

Меланін – Melanin.

Червоність Меланіну – Melanin Redness

Ratio of pheomelanin to eumelanin. Range \([0, 1]\) equivalent to \([0\%, 100\%]\).

Підказка

The ratio formula is: \(eumelanin = Melanin*(1.0-MelaninRedness)\), \(pheomelanin = Melanin*MelaninRedness\).

Результатні кількості конвертуються (після рандомізації, якщо вказано) у концентрацію поглинання через наступну формулу (секція 6.1 з [EFHLA11], наладнано для діапазону \([0, 1]\)):

\[\begin{split}\sigma_{a} = eumelanin * \left[\begin{matrix} 0.506 \\ 0.841 \\ 1.653 \\ \end{matrix}\right] + pheomelanin * \left[\begin{matrix} 0.343 \\ 0.733 \\ 1.924 \\ \end{matrix}\right]\end{split}\]
../../../_images/render_shader-nodes_shader_hair-principled_demo-melanin-redness.jpg

Червоність Меланіну – Melanin Redness.

Підбарвлення – Tint

Color used for dyeing the hair after applying the melanin pigment. It is not subject to randomization. It can be disabled by setting the color to white.

Підказка

Це конвертується через розкладання значень вищезазначеного уводу Color та додання коефіцієнта поглинання концентрації меланіну.

../../../_images/render_shader-nodes_shader_hair-principled_demo-tint.jpg

Підбарвлення – Tint, з вживанням значення 0.1 для Melanin та відповідних значень RGB.

Absorption Coefficient

Коефіцієнт затухання \(\sigma\).

Roughness – Шорсткість

Specify how much the glints are smoothed in the direction of the hair shaft. Too low values will smoothen the hair to the point of looking almost metallic, making glints look like Fireflies; while setting it too high will result in a Lambertian look.

../../../_images/render_shader-nodes_shader_hair-principled_demo-roughness.jpg

Шорсткість – Roughness.

Радіальна Шорсткість – Radial Roughness

Specify how much the glints are smoothed in the direction of the hair normal. Too low values will concentrate the glint; while setting it too high will spread the light across the width of the strand.

Підказка

Математично, це параметр розкладається на фактор масштабу логістичного розподілу \(s\) (секція 4.1 з [CBTB16]).

../../../_images/render_shader-nodes_shader_hair-principled_demo-radial-roughness.jpg

Радіальна Шорсткість – Radial Roughness.

Покров – Coat

Simulate a shiny coat of fur, by reducing the Roughness to the given factor only for the first light bounce (diffuse). Range \([0, 1]\) equivalent to a reduction of \([0\%, 100\%]\) of the original Roughness.

../../../_images/render_shader-nodes_shader_hair-principled_demo-coat.jpg

Покров – Coat.

IOR – Показник Заломлення

Index of refraction (IOR) defining how much the ray changes direction. At 1.0 rays pass straight through like in a transparent material; higher values give more refraction. Default value is \(1.55\).

Offset – Зсув

Tilts the glint of the hair by increasing the angle of the scales of the hair’s cuticle with respect to the hair shaft. Human hair usually has low values.

Випадковий Колір – Random Color

For each strand, vary the melanin concentration by \(RandomFactor\). Range \([0, 1]\) equivalent to \([0\%, 100\%]\) of the initial melanin concentration.

Підказка

The melanin concentration is multiplied by \(randomFactor\), where \(randomFactor = 1.0 + 2.0*(Random - 0.5) * RandomColor\).

../../../_images/render_shader-nodes_shader_hair-principled_demo-random-color.jpg

Випадковий Колір – Random Color.

Випадкова Шорсткість – Random Roughness

For each strand, vary both Roughness values by \(RandomFactor\). Range \([0, 1]\) equivalent to \([0\%, 100\%]\) of the initial roughness values.

Підказка

Застосовувана формула є такою ж, як і для Random Color.

../../../_images/render_shader-nodes_shader_hair-principled_demo-random-roughness.jpg

Випадкова Шорсткість – Random Roughness.

Random – Випадково

Random number source. If no node is connected here, it is automatically instanced with the value obtained from Hair Info ‣ Random.

Properties – Властивості

Color Parametrization

Цей шейдер надає три різних способи або параметризації для забарвлення пасм волосся.

Direct Coloring:

Виберіть бажаний колір RGB і цей шейдер знайде приблизний необхідний коефіцієнт поглинання (нижче).

Melanin Concentration:

This mode defines the color as the quantity and ratio of the pigments which are commonly found in hair and fur, eumelanin (prevalent in brown-black hair) and pheomelanin (red hair). The quantity is specified in the Melanin input, and the ratio between them in Melanin Redness. Increasing concentrations darken the hair (the following are with Melanin Redness \(1\)):

  • White (Melanin \(0\))

  • Біляве – Blonde (Melanin \(0.25\))

  • Червонувате – Reddish (Melanin \(0.5\))

  • Коричневе – Brown (Melanin \(0.75\))

  • Чорне – Black (Melanin \(1\))

Додатково, уводи «Підбарвлення» – Tint дозволяють підбарвлювати волосся бажаним кольором.

Absorption Coefficient:

Specifies the attenuation coefficient \(\sigma_{a}\), as applied by the Beer-Lambert law. This mode is intended mainly for technical users who want to use coefficients from the literature without any sort of conversion.

Outputs – Виводи

BSDF

Стандартний вивід відтінювача.

Орієнтири – References

This shader is an implementation of the paper by Chiang et al. [CBTB16], which was used in the Disney film, «Zootopia»®.

[CBTB16] (1,2,3)

Chiang, M. J. , Bitterli, B. , Tappan, C. and Burley, B. (2016), A Practical and Controllable Hair and Fur Model for Production Path Tracing. Computer Graphics Forum, 35: 275-283. doi:10.1111/cgf.12830

[EFHLA11]

d’Eon, E. , Francois, G. , Hill, M. , Letteri, J. and Aubry, J. (2011), An Energy‐Conserving Hair Reflectance Model. Computer Graphics Forum, 30: 1181-1187. doi:10.1111/j.1467-8659.2011.01976.x