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

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

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

Cycles Only

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

Порада

Реалістичне волосся повинно мати мінімальну мінливість між кожним пасмом. Цей шейдер дозволяє це робити, вказуючи два значення, «Випадковий Колір» – 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

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

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

Підказка

Математично, це параметр розкладається на фактор масштабу логістичного розподілу \(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

Color Parametrization

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

Безпосереднє забарвлювання – 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. Цей режим призначений в основному для технічних користувачів, котрі хочуть використовувати коефіцієнти з літератури без будь-якого виду перетворення.

Виводи – 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