Эксперименты с материалами

реклама
Эксперименты с материалами
Yafaray – Direct Lighting – Glossy
Источник - http://wickedbean.co.uk/blog/?p=1
Перевод: cyberdime
А сейчас поиграемся настройками Blender и Yafaray. Они оба — прекрасный пример опенсорсного ПО.
И, чтобы лучше понять работу с материалами, я провёл ряд тестов. В первую очередь рассмотрим
режим Direct Lighting и работу материала типа glossy в нём.
Замечу, что начнём мы с настроек по умолчанию с отключёнными опциями Anisotropic и As Diffuse.
Настройки цвета следующие:
Тип материала
Glossy
Diffuse Color
0000FF
Glossy Color
00FF00
Примечание: Цвета приведены в Hex-color схеме:
http://yandex.ru/yandsearch?text=hex-color&from=fx3&clid=46510&lr=38
Как вы видите, на картинке смоделирована серия сфер перед зеркалом, каждой из которых были
присвоены определённые параметры. Ниже — таблица параметров к пронумерованным сферам:
№
Diffuse reflection
Glossy reflection
Exponent
1
0,25
1,0
3
2
0,25
1,0
10
3
0,25
1,0
100
4
0,25
1,0
1000
5
0,5
0,5
3
6
0,5
0,5
10
7
0,5
0,5
100
8
0,5
0,5
1000
9
1,0
0,25
3
10
1,0
0,25
10
11
1,0
0,25
100
12
1,0
0,25
1000
Приведённое изображение наглядно иллюстрирует возможности шейдера типа Glossy.
Теперь попытаемся посмотреть, как Yafaray воспроизводит размытые отражения. Установим значение
Ray Depth=0. Это делается в секции общих настроек Settings, а не в панели конкретного материала.
Вот результат:
Прежде всего заметно, что вместо зеркальных отражений — чернота, так как при Ray Depth=0
отражения не просчитываются. Поэтому шары и вообще ничто не отражается друг в друге. Однако
при всём этом отражения источника света сверху (блики) просчитываются. Это значит, что Yafaray
просчитывает отражения двумя путями.
Первичные лучи, дающие отражения окружения, распространяются во всех направлениях (возможно
в случайных). Далее параметр управления Ray Depth определяет, сколько раз сгенерированный луч
отразится от поверхностей объектов (то есть сколько отражений от объектов отразится в зеркальной
поверхности — зеркальном шаре или плоскости).
Вторичные (теневые) лучи строят отражения света от ИС и трассируются от отражающих объектов
своим собственным путём, без учёта направления первичных лучей. То есть без учёта параметра Ray
Depth. Только если луч трассируется через прозрачные объекты с включённой опцией Fake Shadows,
тогда учитывается параметр глубины просчёта теней — Shadow depth. Каждый прозрачный объект
вычисляется как один проход трассируемого теневого луча. (Если опция Fake Shadows не
активирована для прозрачного материала (например стекла - glass), тогда прозрачный объект вообще
не трассирует сквозь себя теневые лучи и в этом случае лучше использовать метод Photon mapping).
Теперь переключимся на тип материала coated_glossy (с глянцевым покрытием). Здесь действует
ещё одна опция - параметр IOR, котрый регулирует степень отражения глянцевым слоем по типу
простого зеркального отражения. В примере ниже, к сферам применены параметры материала как у
шара № 7 с предыдущей картинки, но назначены разные значения IOR глянцевого слоя (см. таблицу):
№
Материал coated_glossy,
значение параметра IOR
1
Без покрытия (материал glossy)
2
1,0
3
2,0
4
3,0
5
4,0
6
6,0
Результат:
Теперь снова установим значение Raydepth=0 и, поскольку отражения исчезли, делаем вывод, что
отражения окружения в глянцевом слое работают с первичными лучами трассировки:
А теперь в качестве теста, подтверждающего наше предположение, что вторичные (теневые) лучи
строят отражения от ИС на отражающих поверхностях, установим прозрачную плоскость выше одного
из шаров (№6). Она имеет серый цвет, и полностью прозрачна (Transparency=1,000; Transmit
filter=1). Активируем опцию Transparent Shadow, чтобы заработало управление глубиной прозрачных
теней Shadow Depth.
Теперь установим Shadow Depth=0:
Мы видим, что отражение ИС в шаре №6 пропало, подтверждая, что отражения света вычисляются
теневыми лучами. (Кстати, если применить площадные ИС (area, sphere) c активированной опцией
Make light visible, то компонент отражения света будет виден даже при Shadow depth=0, то есть в
этом случае очевидно, что отражение самого объекта ИС просчитывается первичными лучами
трассировки )
Теперь посмотрим ещё одну опцию материала. Возьмём шар с параметрами, как у №4 из примера
выше, переключим тип материала опять на glossy , продублируем его и для одной из копий
активируем в настройках материала кнопку As diffuse. На примере ниже №4 — оригинал, №3 —
копия с активированным As diffuse:
Как видите, опция As diffuse отключает отражения окружения (но оставляет отражения света). Похоже
эта опция не работает при методе Direct Lighting. (В руководстве по Yafaray действительно сказано,
что эта функция для метода Photon Mapping).
И в заключение — не совсем про материал glossy, но кое-что к нему относящееся. Ниже на картинке
представлены две сферы, одна из которых с glossy-материалом, а вторая имеет материал типа
shinydiffuse с активированной опцией emit (светоиспускание):
Отметьте, что при рассматриваем методе Direct Lighting, сфера с опцией свечения в действительности
не работает, как источник света, так как плоскость пола около неё не освещена, однако она
генерирует отражения в glossy-сфере, подобные отражениям источников света, но генерируемые в
отличие от них лучами трассировки, также как и отражение всех остальных элементов сцены
(например отражение пола в нижней части сферы).
На этом всё про glossy-материалы в методе Direct Lighting, в следующий раз поговорим о материале
типа glass.
(Продолжение следует)
Скачать