 |
Руководство по YafaRay |
 |
МАТЕРИАЛЫ
Мультиматериалы
YafaRay поддерживает функцию мультиматериалов, используемую в Blender. Это означает, что вы можете присваивать разные материалы различным частям одного меш-объекта на основании сетки полигонов. Для этого используется панель настройки мультиматериалов в Blender. Больше информации о мультиматериалах здесь:
http://wiki.blender.org/index.php/Doc:Manual/Materials/Multiple_Materials.
Также вы можете применять новый тип материала Blend в YafaRay, чтобы смешать два материала для одного меш-объекта. Таким образом в YafaRay есть три способа смешивания материалов в пределах одного объекта:
Stencil — смешивание двух текстурных каналов на основании промежуточной карты, используемой в качестве трафарета;
Материал типа Blend — для смешивания двух материалов на меше на основании коэффициента смешивания или текстурной карты;
Мультиматериалы – различные материалы, нанесённые на разные участки полигональной сетки меш-объекта.
Настройки материаловYafaRay использует список назначенных имён материалов из Blender, но для настройки имеет собственную секцию материалов в интерфейсе скрипта. Общий процесс работы с материалами в YafaRay следующий:
• Создаём и назначаем материалы используя панель материалов F5 в Blender, из этой панели YafaRay берёт только опции текстурирования и список имён материалов.
•Назначаем опции шейдинга для материалов в секции «Material» скрипта YafaRay.
Например на картинке ниже мы видим в секции «Material» интерфейса YafaRay список из 4-х материалов, предварительно назначенных в Blender. Кнопка
From Active Object — позволяет показать настройки материала для объекта, выбранного в данный момент в 3D-окне.

Все настройки шейдинга в панели материалов (F5) Blender, заменяются собственными настройками шейдинга секции «Material» интерфейса YafaRay, даже цвет материала. Градиенты Blender Ramps — не поддерживаются, мультиматериалы — поддерживаются.
Всего YafaRay имеет четыре основных типа материалов, имеющих различные возможности имитации определённых свойств — это
glass,
coated_glossy,
glossy и
shynydiffusemat. Кроме того пятым идёт особый тип материала
Blend — позволяющий смешивать пару из четырёх основных типов контролируемым образом.
Вот общий список типов материалов, используемых в YafaRay:
blend (смешанный) – материал, позволяющий смешивать два материала основных типов на основании коэффициента смешивания или текстурной карты.
glass (стеклянный)— стекло, вода, имитация стекла
glossy (блестящий)— все виды пластика, натуральный и полированный металл, зачищенный металл, окрашенные поверхности, полированное дерево, лакированное дерево, глянцевые и органические материалы, материалы с анизотропными отражениями
coated_glossy (с блестящим покрытием) — материалы с прозрачным блестящим покрытием — автомобильная краска, лакированные поверхности
shinydiffusemat (зеркальные и диффузные) — камень, ржавый металл, бетон, ткань, бумага, шершавое дерево, шторы, светящиеся поверхности, обычные зеркала, простые прозрачные материалы и прозрачные материалы с альфа-каналом и цветной фильтрацией теней, полупрозрачные материалы с цветной фильтрацией теней и т. д.
Для пополнения некоторых знаний о материалах в компьютерной графике посетите страничку Нейла Блевина:
http://www.neilblevins.com/cg_education/cg_education.html.
Окно предпросмотра материалов
Используя эту функцию вы можете просматривать настраиваемый материал и перестраивать его изображение в соответствии с изменёнными параметрами. В окне предпросмотра также показываются нанесённые на материал текстуры. Окно предпросмотра имеет свои опции управления:
•
Show Preview — включает/отключает окно предпросмотра
•
Size — размер стороны квадрата окна предпросмотра в пикселях
•
Refresh Preview — обновляет окно предпросмотра
Теперь рассмотрим настройки различных типов материалов в YafaRay.
Glass (стеклянный)Сначала немного теории:
Для корректного отображения материала стекла, важно, чтобы все нормали фейсов были направлены наружу. Для коррекции в случае необходимости используйте инструменты работы с нормалями Blender.

В реальной жизни (это явление называется рефракцией) световой луч отклоняется на границе перехода из одной прозрачной среды в другую. Например при переходе из толщи стекла в жидкость. Используйте в ваших сценах отдельный меш для каждой преломляющей среды. Например граница объёма жидкости с поверхностью стакана должна быть отдельной поверхностью. Относительный коэффициент преломления границы жидкости и стакана определяется делением значения IOR стекла (1,55) на IOR жидкости (воды -1,33). Таким образом получаем IOR границы равным 1,55/1,33=1,16. Нормали нашей поверхности должны быть направлены внутрь объёма жидкости. Сечение через стакан с жидкостью должно выглядеть примерно так как на рисунке:
Результат рендеринга комплексных объектов из прозрачных материалов зависит от настройки глубины трассировки. Опция
Raydepth в секции «Settings» в зоне «General settings» интерфейса YafaRay в устанавливает значение глубины трассировки. Если некоторые поверхности рендерятся чёрными, попробуйте увеличить значение
Raydepth.
Стекло (
glass) и подобные ему материалы обладают свойствами преломления, отражения и поглощения света. Это означает, что сцена, окружающая стеклянный объект и настройки источников света будут оказывать влияние на отображение материала стекла. Также, возможно, стеклянный объект при совпадении некоторых условий будет производить каустики (каустики — эффект концентрированных областей света, генерируемый преломляющей средой). Вот эти условия:
• В сцене существует источник света и/или фоновый свет (IBL, Sunsky),способные генерировать каустики;
• В сцене есть прозрачные материалы с подходящим коэффициентом преломления (IOR);
• Используется метод глобального освещения (GI) или активирована опция Use caustics (Использовать каустики) при использовании метода прямого освещения (Direct Lighting);
• Лучи каустики имеют достаточную глубину, для прохождения сквозь преломляющий материал.

Материал
glass использует несколько основанных на физических свойствах понятий, которые можно настраивать по отдельности или задействовать вместе для получения различных результатов. Рассмотрим эти понятия:
Absorption (Абсорбция) – поглощение. Некоторое количество пропускаемого света поглощается светопрозрачной средой. Чем большее расстояние проходит свет сквозь среду, тем большее количество света этой средой поглощается. У стеклянного объекта с различным поперечным сечением формы, стекло будет темнее там, где сечение больше.
От абсорбции также зависит цвет стекла и яркость эффекта каустики. Чем больше света поглощается, тем меньше его проходит сквозь материал. Назначая цвет абсорбции (
Absorp.color) мы также назначаем цвет каустиков. Белый цвет — означает отсутствие абсорбции.
Filtering (Фильтрация) — однородное окрашивание светопрозрачной среды независимо от поперечного сечения. Количество пропускаемого света также постоянно (поглощение не учитывается). Используйте эту функцию, если ваш объект с одинаковым поперечным сечением.
Вам необходимо использовать эту функцию для получения цветных теней, если вы активировали кнопки
Fake Shadow (Упрощённые тени) и
Transparent Shadow (Прозрачные тени).
Reflection(Mirror) (Отражения (Зеркальные)) — Частично свет отражается от светопрозрачного материала. Количество преломления материала (IOR). Чем выше IOR, тем больше отражается света. Отражённый свет может генерировать каустики отражения.
Refraction(IOR) (Преломление) — изменение направления движения света при переходе из среды с определённым значением IOR в среду с другим значением IOR. Рефракция производит каустики. Значения IOR для некоторых материалов:
• Ice (Лёд): 1.31
• Water (Вода): 1.33
• Clear plastic (Прозрачный пластик): 1.40
• Standard glass (Обычное стекло): 1.52
• Amber (Янтарь): 1.55
• Diamond (Алмаз): 2.42
Dispersion (Дисперсия) — явление пространственного расщепления средой белого света на составляющие цветные компоненты с разной длиной волны. Производит визуальный эффект в виде радуги.
Если вы используете механизм рендеринга
Path Tracing, то на изображении возможен шум в зонах дисперсии. В этом случае следует увеличить значение
Path Samples, для уменьшения шума.
Fake Shadow (Упрощённые тени). Не все методы трассировки луча хорошо оптимизированы для каустики. Например
Path Tracing. В таких случаях или когда просчёт каустики не нужен используют кнопку
Fake Shadow (Упрощённые тени). При активации этой кнопки световые лучи, проходящие сквозь прозрачный материал, трассируются без преломления.
Для того, чтобы эта опция работала должна быть активирована также кнопка просчёта прозрачных теней
Transparent Shadow в секции
Settings интерфейса YafaRay.
Filter Color (Цвет фильтрации) задаёт цвет светопрозрачного материала и, соответственно, цвет прозрачных теней.
Glossy (Блестящий)Блеск означает очень тонкую структуру неровности на отражающем материале, которая вносит некоторую случайность в направление отражаемых лучей. Это даёт определённую степень размытости отражениям. В реальности существует очень широкий спектр материалов с подобными свойствами.Материал типа glossy в YafaRay хорошо подходит для имитации любых обработанных поверхностей, таких как пластик, полированный металл, автомобильная краска, полированное дерево, лакированные и окрашенные поверхности,глазурованные материалы, органика и т. д.
Эффект размытого блеска может быть усилен использованием тонкой карты бампа для материала или мелкозернистой текстуры в качестве карты блеска. Основные параметры шейдера
glossy в YafaRay:
Diff. Color и Glossy colorМатериал типа glossy имеет два цвета — собственный диффузный (diffuse) цвет материала и цвет блеска — glossy color. Слайдер
Glossy reflection управляет степенью отражения и должен пониматься, как фактор смешения между диффузным компонентом материала и компонентом блеска. Большая степень отражения — меньше диффузного цвета. Идеология основана на опубликованном курсе №30 «Цифровая Кинематография: Свет в компьютерной графике» с выставки Siggraph'96:
«Когда световой поток достигает объекта, он отражается от него в виде двух компонентов — отражённый блеск(блики) и диффузное, рассеянное отражение (собственный цвет объекта). Соотношение этих двух компонентов и определяют свойства материала объекта. Если весь отражённый объектом свет принять за 100% и 95% его будет диффузная световая энергия, то оставшиеся 5% - блеск. Если мы увеличиваем степень блеска, то остающаяся диффузная световая энергия соответственно уменьшается и наоборот. Например матовый шарик для пинг-понга является отражающим почти полностью диффузную энергию, с очень слабым компонентом блеска, а вот зеркало — наоборот отражает почти весь свет в виде компонента блеска и почти не имеет диффузной составляющей»Итак если мы устанавливаем нулевое значение Glossy reflection, то увидим материал с диффузным цветом и с лёгким оттенком цвета блеска. (на картинке ниже - слева). Если установить Glossy reflection=1, то увидим лишь цвет блеска (на картинке справа). Отметьте положение слайдера Glossy reflection на обеих картинках:

Помните, что цветные отражения блеска — специфическая особенность теплопроводящих материалов (золото, медь, цветные металлы), а у изолирующих блеск и блики белого цвета. Так что
Glossy color непропускающих материалов должен быть белым.
Diffuse Reflection - просто множитель степени влияния диффузного цвета на материал.
Glossy Reflection и ExponentКак уже говорилось выше, параметр
Glossy Reflection контролирует степень отражения света от материала. Параметр
Exponent управляет степенью размытости отражений. Чем выше значение
Exponent, тем чётче отражения на материале. Используй значения от 1 до 200 для разного рода пластиков и более высокие для металлов. Блеск способен производить каустики. Ниже - пример настроек материала с различными значениями
Glossy Reflection (
GR) и
Exponent (
EXP). Диффузный цвет — тёмно-серый и цвет блеска — белый:
Сэмплинг отражений типа Glossy Reflection.Следующие типы источников света могут генерировать шум на размытых отражениях, степень зашумлённости зависит от:
• Количества
samples ИС типа Area (Area, Sphere, Meshlight)
• Количества
samples ИС типа Sunlight
• Количества
samples фонового HDR-освещения (IBL, Sunsky)
• Значения степени сглаживания (AA). Более высокие значения — меньше шума.
Например на картинке ниже слева пример освещения ИС типа Area с
samples=2, а справа
samples=64:
As DiffuseКогда активирована опция
As Diffuse при рендеринге методом фотонных карт (Photon mapping), то при просчёте компоненты блеска glossy-материалов считаются фотонной картой как диффузные, что позволяет ускорить рендеринг. На самом деле это рекомендуется делать для материалов не особо блестящих, с низким значением Exponent, так как точность просчёта блеска фотонной картой всегда ниже. Кроме того активация этой функции может с большой долей вероятности привести к «мерцанию» глянцевых поверхностей при анимации.
На картинке слева ниже обе сферы имеют материалы типа glossy с активированной опцией
As Diffuse. Время рендеринга — 166 сек. На картинке справа для обеих сфер с теми же материалами опция
As Diffuse отключена. Время рендеринга — 186 сек. Обратите внимание на отражения.
Нажмите, чтобы увеличитьAnisotropic (Анизотропные отражения)

Этот тип материала применяется для имитации анизотропных отражений. Анизотропные отражения — особый тип отражений, не одинаковых во всех направлениях. Это происходит, когда определённого рода искажающий дефект отражающей поверхности повторяется с некоторой регулярностью. Если активирована кнопка
Anisotropic, то значение
Exponent, управляющее степенью размытости, раскладывается на горизонтальную и вертикальную составляющие (
Exponent Horizontal и
Exponent Vertical), которые могут регулироваться независимо. Задавая разные значения составляющим можно генерировать искажённые отражения. Этот эффект может быть усилен подходящей картой бампа. Если активирована кнопка
Anisotropic, то регулятор
Exponent, применяемый для обычных glossy-материалов игнорируется. Направления горизонтальной и вертикальной составляющей отражений может зависит от UV-координат наложенной карты. На рисунке ниже вы можете увидеть различия между анизотропными отражениями (слева) и обычными (изотропными) отражениями справа:
Coated_Glossy (Блестящий с покрытием)
Этот тип материала в основе своей относится к типу glossy (описан выше), но имеет в составе ещё и тонкое отражающее покрытие сверху. Настройка значения
IOR позволяет управлять степенью зеркальности покрытия. Отражения верхнего слоя могут генерировать каустики. Это очень хороший тип материала для имитации, например, автомобильной краски. Ниже — пример различных настроек IOR для материала coated_glossy:
ShinyDiffuse (Зеркальный и диффузный)
shinydiffusemat — шейдер с огромным количеством применений. Он используется чтобы получить:
• Простой диффузный материал без всяких компонентов отражений;
• Прямые зеркальные отражения с использованием эффекта Френеля (Fresnel) или без него;
• Альфа -маппинг объектов картами прозрачности с зависимым вычислением теней на основе карты прозрачности для прозрачных (transparent) и полупрозрачных(translucent) материалов;
• Прозрачность с цветным окрашиванием (фильтрацией);
• Полупрозрачность с цветным окрашиванием (фильтрацией);
• Материалы с имитацией свечения (Emit).
Примеры подходящего использования этого типа материала — шершавый камень, ржавый металл, бетон, ткань, керамика, асфальт, бумага, шершавое дерево, хром,блестящий пластик, базовая автомобильная краска, шторы, листья, плакаты и т. д.
Параметры настройки шейдера shinydiffusemat :
Diffuse reflection (Диффузное отражение)

Диффузное отражение — явление хаотического отражения мельчайшими неоднородностями материала падающих световых лучей, что заставляет отражённый свет распределяться во всех направлениях, вызывая относительно равномерную картину освещения поверхности. От количества диффузно отражённого света зависит собственный цвет поверхности.
YafaRay поддерживает две модели просчёта шейдинга диффузного отражения света — Lambertian и Oren-Nayar.
Lambertian — базовая, упрощённая, независимая от вида материала модель диффузного шейдера. Яркость поверхности принята постоянной во всех видимых направлениях. Моделируется только взаимодействие между источником света и формой освещаемой поверхности. Подходит только для очень мягких, неконтрастных материалов типа бумаги, мягкого пластика или полированного дерева.
Oren-Nayar — зависимая от типа материала модель диффузного шейдера, физически учитывающая влияние геометрической оптики формы предмета и нюансы освещённости от степени микронеровностей материала. Представляет собой более физически точную модель диффузного шейдера, чем Lambertian. Параметр
Sigma в настройках этого типа шейдера, контролирует степень шершавости поверхности материала.
Diffuse Reflection - просто множитель степени влияния диффузного цвета на материал.

На картинке выше — сравнение реальной фотографии объекта (слева) с отрендеренными моделями диффузного шейдера Lambertian и Oren-Nayar. (Снимок публикуется на основании лицензии GPL Источник:
http://www.cs.columbia.edu/CAVE//projects/oren/)
Ниже приведены значения Sigma для некоторых материалов (значения взяты с официальной страницы проекта Oren-Nayar -
http://www.cs.columbia.edu/CAVE//projects/oren/:
| Felt (Фетр): 0.414686 |
Quarry tile (Пилёный камень): 0.360574 |
| Rough plastic (Шершавый пластик): 0.278057 |
Slate_b (Сланец): 0.309590 |
| Leather (Натуральная кожа): 0.179776 |
Human skin (Человеческая кожа): 0.579386 |
| Velvet (Бархат): 0.751002 |
Brick_b (Кирпич): 0.275990 |
| Pebbles (Галька): 0.443289 |
Linen (Лён): 0.514593 |
| Plaster_b (Штукатурка): 0.543788 |
Cotton (Хлопок): 0.482679 |
| Rough paper (Грубая бумага): 0.311376 |
Stones (Камень) : 1.107168 |
| Roof shingle (Плитка крышная): 0.819147 |
Concrete_b (Бетон1): 0.308956 |
| Rug_b: (Ковры, одеяла) 0.613889 |
Concrete_c (Бетон2): 0.461930 |
| Sponge (Губка): 0.872413 |
Wood_b (Дерево): 0.351271 |
| Wool (Шерсть): 0.978133 |
Tree bark (Древесная кора): 0.293226 |
Mirror & Fresnel (Зеркальность и эффект Френеля)
Зеркальные отражения - прямое отражение световых лучей. Степень зеркального отражения может быть представлена опять как баланс фактора смешивания диффузного. Чем больше степень зеркальности, тем меньше влияние диффузного цвета. Если активирован эффект Френеля (Fresnel), то степень зеркальных отражений зависит от положения наблюдателя относительно объекта. Визуально эффект Fresnel означает, что поверхности, находящиеся под углом к лучу зрения выглядят более зеркальными, чем поверхности перпендикулярные ему. Параметр
IOR управляет силой Fresnel-отражений. Чем выше значение, тем «зеркальнее» материал. Зеркальные и Fresnel-отражения могут генерировать каустики. Ниже пример разных параметров настройки материала.
MS- сокращение от
Mirror Strenght. Белый цвет использован как для диффузного цвета (
Color), так и для зеркального цвета (
Mirror Color):
Transparency (Прозрачность)

Этой настройкой вы можете управлять общей прозрачностью материала с просчётом прозрачных теней и цветной фильтрацией.
Transparency — в основном имитация прозрачности, предназначенная для альфа-маппинга на основе карт прозрачности.
Для цветной фильтрации теней должна быть активирована кнопка просчёта прозрачных теней
Transparent Shadow в секции
Settings интерфейса YafaRay. При этом воздействуют следующие
настройки:
В настройке шейдера shinydiffusemat:
•
Color: прямоугольник выбора диффузного цвета. Этот цвет будет задействован в цветной фильтрации;
•
Transparency: настройка степени прозрачности;
•
Transmit filter: степень фильтрации цвета. Если равен 0, то не будет цветного окрашивания теней.
В секции
Settings интерфейса YafaRay:
•
Raydepth: глубина трассировки луча зрения. Должна быть достаточной для просчёта визуальной прозрачности всех прозрачных объектов сцены;
•
Transparent Shadow: кнопка должна быть активирована для просчёта прозрачных теней и их цветной фильтрации;
•
Shadows Depth: глубина трассировки светового луча. Должна быть достаточной для просчёта и фильтрации всех прозрачных теней от прозрачных объектов сцены.
Translucency (Полупрозрачность)

Этой настройкой вы можете управлять общей полупрозрачностью материала с просчётом прозрачных теней и цветной фильтрацией. Полупрозрачность — свойство материала пропускать свет, часть которого при прохождении диффузно рассеивается структурой материала в его толще , так что вы не можете видеть сквозь него. (пример — матовое стекло).
Цветная фильтрация света означает, что свет проходя сквозь полупрозрачный материал окрашивается и ослабляется в соответствии с настройками материала. Ползунок
Translucency позволяет управлять силой эффекта полупрозрачности.
На данный момент светорассеивание с цветной фильтрацией работает только при использовании GI-методов рендеринга, таких как Pathtracing, Bidirectional Pathtracing и Photon mapping.
Emit (Светоизлучение)

Emit означает количество света, излучаемого материалом, то есть концепция похожа на ранее рассмотренный meshlight. Цвет излучения задаётся в поле обычного диффузного цвета материала, а ползунок
Emit контролирует силу излучения.
Объекты с Emit-материалами могут использоваться в качестве мягких источников света, но только при использовании таких методов рендеринга, как Pathtracing и Bidirectional Pathtracing.
Материал BlendСуть материала в том, что он берёт два настроенных в YafaRay материала и смешивая их получает третий. То есть в Blender вы должны создать три материала — один, присвоенный объекту (которому в YafaRay назначите материал типа
blend) и два других для смешивания. Это можно использовать для смешивания разных типов материалов YafaRay. Например можно смешать glossy-материал с размытыми отражениями и shinydiffuse-материал с прозрачностью. Также это можно использовать для покрытия разных частей меша различными материалами на основе текстурной карты, а не использовать мультиматериалы, которые зависимы от сетки меша.
Blend value — устанавливает процентное соотношение смешиваемых материалов. Значение 0.5 означает равное соотношение (50:50). Уменьшение или увеличение значения меняет процентное соотношение в пользу одного или соответственно другого материала.
Ниже — пример смешивания разных материалов. Сфера слева имеет смешанный материал типа
blend, остальные две сферы — два исходных материала:

Смешивание материала типа glossy и материала shinydiffuse с прозрачностью (Transparency=0.85)
Blend value=0.5

Смешивание материала типа glossy и материала shinydiffuse с зеркальностью (Mirror=0.8)
Blend value=0.5

Смешивание двух материалов типа glossy. Один имеет значение Exponent=15, второй - Exponent=1500
Blend value=0.25

Смешивание материалов типа shinydiffuse. Один с зеркальностью (Mirror=0.2) и прозрачностью (Transparency=0.85), а другой — просто диффузный материал.
Blend value=0.25