Принципиальный BSDF волос (principled hair BSDF)

Нода *Principled Hair BSDF* с :abbr:`концентрацией меланина (Melanin concentration)`.

Только Cycles

Principled Hair BSDF – это физически корректный, простой в использовании шейдер для рендеринга волос и меха.

Совет

Реалистичные волосы должны иметь минимальную дисперсию между каждой прядью. Шейдер позволяет это сделать, с настройкой двух значений: «Случайный цвет» и «Нерегулярность шероховатости», которые переназначают указанные значения меланина/шероховатости в диапазон \(Цвет/Шероховатость \pm Рандомизация\%\).

Входы (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 redness)

Соотношение феомеланина и эумеланина. Диапазон \([0, 1]\) эквивалентен \([0\%, 100\%]\).

Подсказка

Формула соотношения: \(эумеланин = Меланин×(1.0-КраснотаМеланина)\), \(феомеланин = Меланин×КраснотаМеланина\).

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

\[\begin{split}\sigma_{a} = эумеланин × \left[\begin{matrix} 0.506 \\ 0.841 \\ 1.653 \\ \end{matrix}\right] + феомеланин × \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

Краснота меланина.

Оттенок (tint)

Цвет, используемый для окрашивания волос после нанесения пигмента меланина. Не подлежит рандомизации. Его можно отключить, установив цвет на белый.

Подсказка

Он преобразуется с помощью приведённого выше цветового отображения и добавляется к коэффициенту поглощения имеющейся концентрации меланина.

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

Оттенок с использованием Меланина 0.1 и соответствующих значений RGB.

Коэффициент поглощения (absorption coefficient)

Коэффициент ослабления \(\sigma\).

Коэффициент преломления (IOR)

Коэффициент преломления (IOR), определяющий, как сильно луч меняет направление. При значении 1.0 лучи проходят сквозь, как при прозрачном материале; более высокие значения дают большее преломление. Значение «по умолчанию»: \(1.55\).

Смещение (offset)

Преломляет блеск волоса, увеличивая угол чешуек кутикулы волоса по отношению к стержню волоса. Человеческие волосы обычно имеют низкие значения.

Случайный цвет (random color)

Концентрация меланина варьируется для каждой пряди на \(СлучайныйКоэффициент\). Диапазон \([0, 1]\) эквивалентен \([0\%, 100\%]\) начальной концентрации меланина.

Подсказка

Концентрация меланина умножается на \(СлучайныйКоэффициент\), где \(СлучайныйКоэффициент= 1.0 + 2.0×(Случайно - 0.5) × СлучайныйЦвет\).

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

Случайный цвет.

Нерегулярность шероховатости (random roughness)

Для каждой пряди изменять оба значения шероховатости на \(СлучайныйКоэффициент\). Диапазон \([0, 1]\) эквивалентен \([0\%, 100\%]\) начальных значений шероховатости.

Подсказка

Применяемая формула та же, что и для «случайного цвета».

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

Нерегулярность шероховатости.

Случайно (random)

Генератор случайных чисел. Если здесь не подключена ни одна нода, он автоматически дублирует значение, полученное из Информация о волосах ‣ Случайно Hair Info ‣ Random.

Модель Chiang’а (Chiang)

Модель Чанга основана на гауссовом распределении с отдельной шероховатостью вдоль и перпендикулярно волосам.

Шероховатость (roughness)

Указать, насколько сильно сглаживаются блики в направлении стержня волоса. Слишком низкие значения сгладят волосы до такой степени, что они будут выглядеть почти металлическими, делая блики похожими на «cветлячков»; а слишком высокие значения приведут к Ламбертовскому виду.

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

Шероховатость.

Радиальная шероховатость (radial roughness)

Указать, насколько сильно распределяются блики в направлении нормали волос. Слишком низкие значения будут концентрировать блики; слишком высокие значения будут рассеивать свет по всей ширине пряди.

Подсказка

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

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

Радиальная шероховатость.

Верхний слой (coat)

Имитация блестящего слоя шерсти, путём уменьшения шероховатости до заданного коэффициента только для первого отражения света (диффузного). Диапазон \([0, 1]\) эквивалентен уменьшению \([0\%, 100\%]\) исходной шероховатости.

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

Верхний слой.

Модель Huang’а (Huang)

Модель Хуанга основана на отражении и пропускании света на основе микрограней и поддерживает волосы эллиптической формы.

Соотношение сторон (aspect ratio)

Соотношение малой оси к большой оси эллиптического поперечного сечения. Рекомендуемые значения: 0.8~1 для волос азиатского типа, 0.65~0.9 для волос европейского типа и 0.5~0.65 для волос африканского типа. Большая ось выровнена по кривой нормали, которую можно создать с помощью нод геометрии, но она не поддерживается в устаревших волосах-частицах.

Шероховатость (roughness)

Микрогранная шероховатость граней для отражения и пропускания.

Отражение (reflection)

Необязательный коэффициент для модуляции первого отражения света от поверхности волос. Цвет этого компонента всегда белый. Для физической корректности – оставьте 1.0.

Светопропускаемость (transmission)

Необязательный коэффициент для модуляции компонента пропускаемости света. Подбирает цвет пигмента внутри волоса. Для физической корректности – оставьте 1.0.

Вторичное отражение (secondary reflection)

Необязательный фактор для модуляции компонента, который проходит в волосы, отражается от их задней части и затем пропускается из волоса. Этот компонент ориентирован приблизительно вокруг входящего направления и улавливает цвет пигмента внутри волоса. Для физической корректности – оставьте 1.0.

Свойства (properties)

Параметризация цвета (color parametrization)

Шейдер предоставляет три различных способа, или параметризации, окраски прядей волос.

Прямое окрашивание (direct coloring):

Выбрать нужный цвет RGB, и шейдер приблизится к необходимому «коэффициенту поглощения» (ниже).

Концентрация меланина (melanin concentration):

Этот режим определяет цвет как величину и соотношение пигментов, которые обычно встречаются в волосах и мехе, эумеланин (распространён в коричнево-чёрных волосах) и феомеланин (рыжие волосы). Величина «Меланина», а соотношение между ними – во входных данных «Краснота меланина». Увеличение концентрации затемняет волосы (следующие значения указаны для Красноты меланина \(1\)):

  • Белые (Меланин \(0\))

  • Светлые (Меланин \(0.25\))

  • Рыжие (Меланин \(0.5\))

  • Коричневые (Меланин \(0.75\))

  • Чёрные (Меланин \(1\))

Кроме того, входы для «Оттенка» позволяют окрашивать волосы в желаемый цвет.

Коэффициент поглощения (absorption coefficient):

Задаёт коэффициент ослабления \(\sigma_{a}\), применяемый по закону Бугера-Ламберта-Бера. Этот режим предназначен в основном для технических пользователей, которые хотят использовать коэффициенты из литературы без какого-либо преобразования.

Выходы (outputs)

BSDF

Стандартный вывод шейдера.

Ссылки

Этот шейдер является реализацией статей Чанга и соавторов [CBTB16] и Хуанга и соавторов [HHH22].

[CBTB16] (1,2,3)

Chiang, M. J., Bitterli, B., Tappan, C. и Burley, B. (2016), Практичная и контролируемая модель волос и меха для производственной трассировки путей. Computer Graphics Forum, 35: 275-283. doi:10.1111/cgf.12830

[EFHLA11]

d’Eon, E., Francois, G., Hill, M., Letteri, J. и Aubry, J. (2011), Энергосберегающая модель отражения волос. Computer Graphics Forum, 30: 1181-1187. doi:10.1111/j.1467-8659.2011.01976.x

[HHH22]

Huang W., Hullin M.B. Hanika J. (2022), Модель рассеивания волос на основе микрограней. Computer Graphics Forum, 41: 79-91. doi:10.1111/cgf.14588