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

Cycles Only

../../../_images/render_shader-nodes_shader_hair-principled_node-melaninconcentration.png

Principled Hair BSDF під концентрацією Melanin.

«Принципове Волосся BSDF» – Principled Hair BSDF – це фізично-базований, легкий у використанні, шейдер для рендерингу волосся та хутра.

Забарвлювання Волосся – Coloring Hair

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

Безпосереднє забарвлювання – Direct coloring
Виберіть бажаний колір RGB і цей шейдер знайде приблизний необхідний коефіцієнт поглинання (нижче).
Концентрація меланіну – Melanin concentration

Цей режим визначає колір, як кількість та пропорцію пігментів, які звичайно знаходяться у волоссі та хутрі, eumelanin (переважає у коричнево-чорному волоссі) та pheomelanin (червоне волосся). Кількість визначається уводом «Меланін» – Melanin, а пропорція між ними – уводом «Червоність Меланіну» – Melanin Redness. Підвищення концентрацій затемнює волосся (наступні види волосся є при значення Melanin Redness \(1\)):

  • Біле – White (Melanin \(0\)),
  • Біляве – Blonde (Melanin \(0.25\))
  • Червонувате – Reddish (Melanin \(0.5\))
  • Коричневе – Brown (Melanin \(0.75\))
  • Чорне – Black (Melanin \(1\))

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

Коефіцієнт поглинання – Absorption coefficient
Визначає коефіцієнт затухання \(\sigma_{a}\), застосовуваний за законом Бугера-Ламберта-Бера – Beer-Lambert law. Цей режим призначений в основному для технічних користувачів, котрі хочуть використовувати коефіцієнти з літератури без будь-якого виду перетворення.

Властивості Рандомізування – Randomizing Properties

Реалістичне волосся повинно мати мінімальну мінливість між кожним пасмом. Цей шейдер дозволяє це робити, вказуючи два значення, «Випадковий Колір» – Random Color та «Випадкова Шорсткість» – Random Roughness, які перерозкладають значення Melanin/Roughness на діапазон \(Color/Roughness \pm Randomization\%\).

Уводи – Inputs

Колір – Color

Колір RGB для пасм. Використовується лише при Безпосередньому забарвлюванні.

Підказка

Вибраний колір конвертується у коефіцієнт поглинання за наступною формулою (секція 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

Забарвлювання волосся з використанням параметризації Безпосереднього забарвлення. (Числа зверху – це значення RGB.)

Меланін – Melanin

Абсолютна кількість пігменту. Діапазон \([0, 1]\) еквівалентний \([0\%, 100\%]\).

Підказка

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

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

Меланін – Melanin.

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

Пропорція pheomelanin до eumelanin. Діапазон \([0, 1]\) еквівалентний \([0\%, 100\%]\).

Підказка

Формулою цієї пропорції є: \(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 та додання коефіцієнта поглинання концентрації меланіну.

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

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

Коефіцієнт поглинання – Absorption coefficient
Коефіцієнт затухання \(\sigma\).
Шорсткість – Roughness
Визначає, наскільки відблиски згладжуються у напрямку стрижня волосинки. Надто низькі значення згладжуватимуть волосся так, що воно виглядатиме майже металічним із відблисками на вигляд, як світлячки; тоді як задання їх надто високими буде давати матовий вигляд згідно Lambertian.
../../../_images/render_shader-nodes_shader_hair-principled_demo-roughness.jpg

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

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

Визначає, наскільки відблиски згладжуються у напрямку тангенса волосинки. Надто низькі значення будуть концентрувати відблиск; тоді як задання їх надто високими дасть поширення освітлення по ширині пасма.

Підказка

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

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

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

Покров – Coat
Симулюється блискучий покров хутра, скорочуючи Roughness до заданого фактора лише для першого відскоку освітлення (розсіяння). Діапазон \([0, 1]\) еквівалент скороченню \([0\%, 100\%]\) від оригінального Roughness.
../../../_images/render_shader-nodes_shader_hair-principled_demo-coat.jpg

Покров – Coat.

Показник Заломлення – IOR
Показник заломлення – Index of refraction (IOR), що визначає, наскільки промінь змінює напрямок. При 1.0 промені проходитимуть прямо крізь, ніби через прозорий матеріал; вищі значення дають більше заломлення. Стандартне значення – \(1.55\).
Зсув – Offset
Відхиляє відблиск волосся, збільшуючи кут лусочок кутикули волосся відносно стрижня волосинки. Людське волосся, зазвичай, має низькі значення.
Випадковий Колір – Random Color

Для кожного пасма варіює концентрацію меланіну за \(RandomFactor\). Діапазон \([0, 1]\) еквівалент \([0\%, 100\%]\) початкової концентрації меланіну.

Підказка

Ця концентрація меланіну множиться на \(randomFactor\), де \(randomFactor = 1.0 + 2.0*(Random - 0.5) * RandomColor\).

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

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

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

Для кожного пасма варіює обидва значення Roughness за \(RandomFactor\). Діапазон \([0, 1]\) еквівалент \([0\%, 100\%]\) початкових значень шорсткості.

Підказка

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

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

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

Випадково – Random
Випадкове джерело чисел. Якщо жоден із вузлів тут не під’єднується, то це автоматично примірникується за допомогою значення, отриманого з Hair Info ‣ Random.

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

Параметризація – Parametrization
Дає на вибір один із трьох режимів забарвлення, описаних вище.

Виводи – Outputs

BSDF
Стандартний вивід шейдера.

Орієнтири – References

Цей шейдер є імплементацією праці авторів Chiang et al. [CBTB16], яка була використана у фільмі від Disney, «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