Підповерхневе Розсіювання – Subsurface Scattering

../../../_images/render_shader-nodes_shader_sss_node.png

Шейдер «Підповерхневе Розсіювання» – Subsurface Scattering.

Вузол «Підповерхневе Розсіювання» – Subsurface Scattering або, скорочено англійською – SSS, використовується для додання простого підповерхневого багаторазового розсіювання для матеріалів, таких як шкіра, віск, мармур, молоко та інших. Для цих матеріалів, світло не буде відбиватися безпосередньо від поверхні, а проникатиме поверхню та відскакуватиме навколо всередині перед тим, як бути поглинутим або вийти з поверхні десь у сусідній точці.

Наскільки колір у середньому буде розсіюватися може конфігуруватися для кожного колірного каналу RGB. Наприклад, для шкіри, червоні кольори розсіюються дальше, що дає виразні забарвлені червоним тіні та м’який вигляд.

Уводи – Inputs

Колір – Color
Колір поверхні, або фізично кажучи, ймовірність того, що світло відбивається для кожної довжини хвилі.
Масштаб – Scale
Фактор глобального масштабу для радіуса розсіювання.
Радіус – Radius
Усереднення відстані, на якій світло розсіюється нижче поверхні. Вищий радіус дає м’якіший вигляд, як світло просочується у тіні та крізь об’єкт. Ця відстань розсіювання визначається окремо для каналів RGB, для рендера матеріалів, як шкіра, де червоне світло розсіюється глибше. Значення X, Y та Z розкладаються на значення R, G та B, відповідно.
Різкість – Sharpness
Використовується тільки для спаду типу Cubic. Зростання значення від 0 до 1 запобігає розм’якшенню різких країв та скорочує небажане потемніння.
Нормаль – Normal
Нормаль, використовувана для відтінювання; якщо нічого до цього уводу не під’єднано, то використовується стандартна нормаль відтінювання.
Розмив Текстури – Texture Blur
Наскільки текстура буде розмитою разом у ході освітлювання при змішуванні текстури на вхідних та вихідних точках на поверхні. Зауважте, що правильний вибір залежить від текстури. Розгляньмо, наприклад, текстуру створену з фотографії шкіри, у цьому випадку, кольори вже будуть попередньо розмиті й Texture Blur може буди задано як 0. Навіть для вручну намальованих текстур може бути не доцільним розмиття чи мінімальне розмиття, оскільки художник по текстурах вже, швидше за все, малював її з пом’якшенням переходів. Як правило, навіть не знаєш, як виглядає текстура шкіри без розмиття; ми завжди бачимо її розмитою. Для процедурної текстури, з іншого боку, ця устава, швидше за все, матиме вище значення.

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

Метод – Method

Метод рендерингу для симулювання підповерхневого розсіювання.

Крістенсен-Берлі – Christensen-Burley
Є наближенням до фізично базованого розсіювання об’ємом. Дає менш розмиті результати, ніж функції Cubic та Gaussian.
Випадковий Хід – Random Walk Cycles Only
Забезпечує найбільш точні результати для тонких та вигнутих об’єктів. Це відбувається коштом збільшення часу рендера або шуму для більш щільних середовищ, як шкіра, але також має краще збереження детальності геометрії. Random Walk використовує справжнє розсіювання об’ємом всередині сіті, що означає, що він працює найкраще для закритих сітей. Накладувані грані та отвори у сіті можуть спричиняти проблеми.
Кубічно – Cubic
Це різкий спад, корисний для багатьох простих матеріалів. Його функція – \((radius - x)^3\).
Гаусове – Gaussian
Дає згладжений спад після звичайного розподілу, який особливо корисний для більш просунутих матеріалів, що використовують виміряні дані, які були пристосовані до однієї чи більше таких функцій Гауса. Його функція – \(e^{-8x^2/ radius^2}\), так що радіус приблизно відповідає максимальному спаду з відстанню. Для узгодження заданого виміряного відхилення v, задавайте \(radius = sqrt(16 × v)\).

Виводи – Outputs

BSSRDF
Вивід відтінювальної функції двонапрямного розсіюваного поверхнею відбиття – BSSRDF.

Приклади – Examples

../../../_images/render_shader-nodes_shader_sss_example.jpg

Підповерхневе розсіювання з методом Random Walk.