Загружаемся...

Меню

Кривые Френеля и комплексный BRDF в Maya для V-ray

ГлавнаяБлог3D + 2DКривые Френеля и комплексный BRDF в Maya для V-ray
ГлавнаяБлог3D + 2DКривые Френеля и комплексный BRDF в Maya для V-ray
Кривые Френеля и комплексный BRDF в Maya для V-ray

Кривые Френеля и комплексный BRDF в Maya для V-ray

опубликовано в 3D + 2D Создал(а): Dorian L'even

Оцените материал
(4 голосов)

Закон Френеля описывает то как отражается свет от поверхности в зависимости от угла обзора. Чем больше угол, тем больше света отражает поверхность, зеркальными могут стать даже матовые поверхности. Если мы сравним водную гладь и ламинат, то они будут преломлять свет по-разному – у них отличаются индексы преломления света IOR.

Почти 90 градусов. Почти 90 градусов.

Значение преломления и поглощения света для золота

Чаще всего настройка материала ограничивается вводом IOR, регулированием значений Glossiness, Reflection и выбором подходящего BRDF. На самом деле это упрощенный способ, который не учитывает, что для некоторых веществ IOR описывается двумя числами - n и k, где n отвечает за преломление, а k - за поглощение света

Чтобы в настройке материала сразу учесть и преломление, и поглощение света используем кривые Френеля, а стандартный Use Fresnel отключаем. На большинстве из пластиков разница не так заметна, они имеют белые блики, а поглощение света отсутствует.Кривая Френеля для поликарбоната

В металлах эффект Френеля описывается сразу 3-мя кривыми для Red, Green и Blue. Они достаточно сильно отличаются друг от друга по форме, а значит, когда мы вводим одно общее значение IOR, например, для золота, то не учитываем, как преломляется и поглощается свет в других каналах подгоняя материал «на глаз».Кривые Френеля для разных каналов золота

В 3DMax для работы с кривыми удобно использовать Falloff с помощью которого можно быстро вручную настроить затухание в зависимости от угла обзора. Но в Maya все происходит чуть сложнее, необходимо использовать ряд нод для повторения того же результата:

1.       Чтобы узнавать под каким углом находятся нормали по отношению к камере понадобится нода samplerinfo и ее параметр FacingRatio.

2.       Нода reverse, чтобы инвертировать значения от FacingRatio, иначе кривые Френеля будут работать наоборот, повышая силу отражения на поверхности, нормали которой повернуты к нам. 

3.       Нода RemapValue - в ней мы будем строить сами кривые Френеля.

4.       Изображение самих кривых, которые берем на сайте http://refractiveindex.info/, для России он закрыт, поэтому пользуемся известными средствами и качаем графики. Для металлов берем значения длинн волн Красного, Зеленого и Синего света.

Значения длины волны для всего спектра света.

Строим связи

1.       Соединяем Facing Ratio (samplerinfo) c input X (reverse).

2.       Output X кидаем на InputValue (remapValue).

3.       OutputValue соединяем с Reflection color по отдельности на R, G и B если это пластик. В случае металла понадобится создать 3 ноды RemapValue по графику для каждого цвета и каждую кинуть на соответствующий канал RGB. Я взял график поликарбоната, который в находится выше в статье.

Нодовая связь для кривых Френеля.

Скрипт для создания кривых ФренеляЧтобы каждый раз не создавать графики вручную команда therenderblog.com написала скрипт в котором достаточно ввести значение n и, если есть - значение k, в один клик создав ноду remapValue с нужной кривой Френеля. Она изначально перевернута и не требует использования ноды reverse. Для металлов идут сразу преднастройки и нужно только выбрать подходящий из списка, выделить VrayMtl и нажать Create – скрипт сам создаст нужную связь. Вам останется только выбрать подходящий Diffuse.

Скрипт имеет функционал под рендер Arnold и если у вас он не стоит в Maya, то при запуске выдаст ошибку. Если вы используете два рендера можете скачать оригинальную версию с сайта creativecrash.com. А для тех, у кого стоит только Vray качайте измененную версию, которая работает без Арнольда. 

Комплексный BRDF

BRDF - это алгоритм по которому рассеивается свет на поверхности материала. В 3-ем V-ray есть 4 варианта:

Phong – Резкие блики, хорошо подходит для гладких поверхностей.

Ward – Размытые блики как у матовых поверхностей.

Blinn – Среднее между Ward и Phong.

GGX – Был добавлен последним, лучше отражения и регулируемое затухание блика.

Эти алгоритмы также не полностью учитывают рассеивание света и создают по большей части линейное затухание блика.

Разница в BRDF:

Сравнение разных алгоритмов BRDF

Для того чтобы создать комплексный BRDF, который ближе к реальности нужно использовать смешение 2-3 материалов, в зависимости от того для какого объекта вы делаете настройку. Для пластика может быть достаточно и 2-х, но для металла лучше создать 3 материала.

Создаем свой BRDF

1.   Используем алгоритм выше и создаем материал с использованием кривых Френеля.

2.   Дублируем основной материал два раза через Edit --> Duplicate --> With connections to Network.

3.   Меняем значение Glossiness для каждого материала, например, у первого 0.6 у второго 0.8, а у третьего 0.99.

Кривые смешивания материалов для комплексного BRDF.4.   Создаем ноду VrayBlendMaterial для смешивания 3 материалов с разными значениями размытия блика и 2 ноды remapValue в которых строим графики смешивания второго и третьего материала с базовым. Строим по аналогии с кривыми френеля. 

5.   Материал с наименьшим значением Glossiness– кидаем на Base material. А два других на Coatmaterial 0 и Сoatmaterial 1.

6.   Нам нужно смешать эти материалы в зависимости от угла нормалей к камере. Чем больше угол - тем зеркальнее поверхность. Если вы строили обратные графики как на скриншотах, то соединяйте inputvalue с FacingRatio. Outputvalue кидаете на 3 канала RGB AmountColor в VrayBlendMaterial для второго и третьего материала соответственно.

Сравнение материалов

Поликарбонат:

Комплексный BRDF Комплексный BRDF

Сравнение пасов для поликарбонатаНодовая связь на примере поликарбоната для комплексного BRDF.

 Золото: 
Комплексный BRDF + кривые Комплексный BRDF + кривые
Сравнение пасов для золота.Нодовая связь для золота

Выводы

На пластике не особо заметна разница в использовании простого IOR или кривых Френеля, так как используется одно значение - преломление. Для металлов и материалов обладающих свойством поглощать свет влияение кривых очень сильно. Добавляется объем и правильные блики, я сравнивал с реальным материалом и кривые его повторяли лучше чем простой IOR. С комплексным BRDF также усилился объем и реалистичность материала, к тому же теперь мы можем контролировать степень отражения в зависимости от угла нормали к камере и выбирать наилучшие значения регулируя кривые смешения. Такой способ увеличивает время рендера, в моем случае + 15-20% для пластика и +30% для золота. 

maya brdf render рендер материалы


Прочитано 3599 раз
Расскажите своим друзьям:
31 03, 16

похожие записи