 |
Руководство по YafaRay |
 |
ТЕКСТУРЫ
Одной из сильных сторон старого Yafray была почти полная поддержка возможностей Blender по текстурированию объектов. YafaRaY старается продолжать традиции. YafaRay использует панели Blender для получения информации о настройках текстур. В целом YafaRay поддерживает:
• Многие настройки из панели текстур (F6)
• Почти все настройки в закладках 'Texture', 'Map Input' и 'Map To' панели материалов (F5)
• Часть процедурных текстур Blender и их соответствующие установки
• Многослойные каналы текстур для одного материала
Теперь подробнее.
Растровые текстуры (изображения)Загрузка текстур выполняется с помощью пункта '
Image' из раскрывающегося списка '
Texture Type' в закладке '
Texture' панели F6, и последующего выбора конкретного изображения в закладке '
Image'. Вы можете назначать несколько текстур в разные слоты в закладке '
Texture' и задавать каждому слоту разные функции. YafaRay поддерживает следующие растровые форматы: tga, jpeg, png, exr, hdr. Ниже приведены основные кнопки и функции панели текстур F6, поддерживаемые в YafaRay (выделено зелёным).
Нажмите, чтобы увеличить•
Rot90 — поворачивает текстуру на 90° против часовой стрелки.
•
UseAlpha – рендерит альфа-канал текстуры прозрачным (если он существует)
•
CalcAlpha — вычисляет значения альфа-канала из RGB-значений текстуры (для проецирования прозрачности и полупрозрачности на материалах типа shinydiffuse)
•
Extend — цвет крайних пикселей текстуры распространяется за её пределами по материалу
•
Сlip — текстура не повторяется по материалу. Это позволяет, например размещать мелкие надписи или логотипы на крупных объектах.
•
ClipCube – то же, что и Сlip, но на объектах производных от куба
•
Repeat – текстура повторяется в границах образца горизонтально и вертикально столько раз, сколько задано в
Xrepeat и
Yrepeat•
Checker – генерирует шахматный порядок расположения текстуры по материалу или текстур из двух слотов. '
Odd'-включаем для текстуры первого слота, '
Even' — для текстуры второго. Текстуры будут в шахматном порядке.
Mortar — величина швов между текстурами.
•
Xrepeat и
Yrepeat — количество повторений текстуры по горизонтали и вертикали.
•
MinX, MinY – MaxX, MaxY – используются для выбора фрагмента текстуры
Важно: YafaRay не может читать упакованные в blend-файлы текстуры. Если у вас такой файл, то сначала необходимо распаковать данные (File>External Data>Unpack). YafaRay будет загружать текстуры из созданной папки 'textures'. Во время рендеринга в консоли Blender выводятся сообщения о сбоях в загрузках текстур. Заглядывайте почаще в консоль.
Если вы распаковали blend-файл, но всё равно YafaRay не видит их, то проверьте формат текстур и правильность пути к текстуре в закладке 'Image' панели текстур F6.
Наложение текстур на объекты - маппинг(mapping)В панели материалов (F5) в Blender масса настроек, но YafaRay поддерживает только настройки в закладках '
Texture', '
Map Input' и '
Map To'. Прочие настройки игнорируются. В целом YafaRay поддерживает следующие опции текстурирования:
• Многоканальное текстурирование (несколько текстурных слотов на один материал)
• UV, Orco и Global - системы координат для маппинга текстур.
• Плоская (Flat), Кубическая (Cube), Цилиндрическая (Tube), Сферическая(Sphere) проекции текстур на объекты.
• Трансформации координат (сдвиг, масштабирование)
• Режимы модуляции текстур (основанные на типе текстур и типе материала)
• Инвертируемую модуляцию поддерживаемых режимов
• Настройки режимов модуляции
• Stencil – маппинг по шаблону на основе карты
• Режимы смешивания
Посмотрим поддерживаемые режимы каждой закладки (выделены зелёным):
Закладка Texture:
Текстурные каналы - YafaRay поддерживает мультитекстурирование для каждого из создаваемых материалов. Общий принцип как и в Blender таков: Для каждого материала есть блок (стек) из 10 текстурных каналов (слотов). Каждый канал может иметь собственные настройки наложения текстур, при этом текстура в канале, расположенная ниже имеет визуальный приоритет, над текстурой, расположенной выше. Это значит, что какая нибудь фрагментарная текстура (ну, к примеру надпись) должна находиться ниже в стеке, чем текстура, покрывающая весь объект). Также режимы смешивания для выбранной текстуры взаимодействуют с текстурой, лежащей ВЫШЕ в стеке. Подробнее о текстурных каналах см. здесь:
http://wiki.blender.org/index.php/Doc:Manual/Textures/Options/Channels/.
Закладка Map Input:
•
Glob — для наложения текстур используется глобальная (Global) система координат.
•
Object – используется дочернее текстурное пространство объекта, имя которого вписано в текстовое поле Ob:. Часто используется с Пустышками (Empty)
•
UV — для наложения текстур используются UV-координаты.
•
Orco – для наложения текстур используется локальное пространство объекта.
•
Win - для наложения текстур используется пространство 3D окна (Window)
•
Flat,
Cube,
Tube,
Sphere (Плоскость, Куб, Цилиндр, Сфера) - способы проецирования текстур в заданной системе координат, зависящие от формы объекта. Примечание: для UV-маппинга всегда используйте способ проецирования
Flat.
•
ofsX, Y, Z — параметрическое смещение текстуры по 3D осям
•
sizeX, Y, Z - параметрическое масштабирование текстуры по 3D осям
• подробнее о закладке
Map Input здесь:
http://wiki.blender.org/index.php/Doc:Manual/Textures/Options/Map_Input
Пример маппинга в пространстве
Orco, использующего пространство объекта. Заметьте, что текстуры адаптируются к форме и положению объекта в пространстве. Кроме того каждый объект использует соответствующий его форме способ проецирования, поэтому текстуры накладываются без искажений.
Закладка Map To:
•
Col, Nor, Csp, Cmir и т. д. - верхний блок закладки - режимы модуляции. Назначение (с помощью кнопок) воздействия текстурных каналов на определённые свойства материала. Поддерживаемые режимы зависят от типа материала в YafaRay (Будет описано ниже). Напомним, что некоторые кнопки модуляции имеют негативный (обратный) способ воздействия. Теперь они тоже поддерживаются в YafaRay.
• Одновременно может быть активировано больше одной кнопок модуляции. В этом случае текстура, наложенная одним способом, будет воздействовать на различные свойства материала. Наложенные карты смещения (Disp -Displacement mapping) поддерживаются теперь, но только через стек модификаторов объекта (F9).
•
Режимы смешивания — раскрывающийся список режимов взаимодействия текстуры из одного канала с текстурой, расположенной каналом выше в стеке. Всего доступно восемь режимов:
mix, add, multiply, substract, screen, difference, darken, lighten.
•
Stencil - кнопка активации использования текстуры в качестве маски, для всех выше расположенных каналов.
•
Neg — инвертирует пиксели текстуры в негативное изображение
•
NoRGB – игнорирует цветовую информацию пикселей текстуры и приводит перепады её тона к градациям между двумя цветами — цветом, устанавливаемым в прямоугольнике цветовой палитры ниже этих кнопок и собственным цветом объекта.
•
Прямоугольник цветовой палитры — инструмент выбора вторичного цвета для градиента NoRGB или для смешивания с основным цветом при генерации процедурных текстур.
•
Dvar — значение интенсивности воздействия (по умолчанию =1)
•
Управляющие слайдеры — (
Col, Nor, Var, Disp) – позволяют управлять степенью воздействия текстуры на соответствующий режим модуляции.
Stencil:
Stencil - это опция закладки MapTo панели текстурирования — один из способов управления смешиванием текстур в разных текстурных слоях. Способ представляет собой смешивание двух текстур «по трафарету» из промежуточной чёрно-белой текстуры-маски. Белые области карты маппируются текстурой и выше лежащего слоя, а чёрные для верхней текстуры остаются невидимыми.
Ниже — пример использования функции stencil. В левой части вы видите применяемые текстуры, в центре — размещение текстур в слотах и справа — настройки закладки МарТо для текстуры-маски (stencil). Заметьте, что для маски активированы кнопки Col, Stenci и NoRGB. С такими настройками результат рендеринга должен получиться, как на картинке выше.
Режимы смешивания (Blending Modes)Режимы смешивания — различные способы взаимоналожения текстур в соседних слотах. Режимы выбираются в раскрывающемся списке панели МарТо. По умолчанию установлен режим Mix, который означает простое перекрывание текстуры, размещённой выше в стеке текстурой, расположенной ниже в стеке. (Помните, что приоритет видимости в текстурном стеке Blender идёт сверху вниз — нижняя текстура стека — самый верхний слой на модели). Пиксели текстуры имеют числовое значение, так что имеется множество математических способов для смешивания текстурных каналов. Это даст вам возможность более сложно и богато текстурировать объекты. Хотя режимов смешивания в Blender больше, YafaRay поддерживает пока только девять из них:
mix, add, substract, multiply, screen, difference, divide, darken и lighten.

Итак посмотрим на примере. Мы скачали две текстуры с
urbandirty.com Размещение их в стеке, как на рисунке выше. На рис. ниже представлены эти две текстуры. Левая текстура будет base (a), а правая — blend (b).
Add (добавление)
Самый базовый режим смешивания. Математически его воздействие основанно на простом арифметическом сложении числовых значений совпадающих пикселей (а+b). В случае, если сумма получается больше единицы, то результирующий пиксель отображается белым цветом. Этот способ является коммутативным (a+b=b+a), т. е. каналы
base и
blend могут быть поменяны местами. Заметим, что чёрные пиксели в текстуре
blend не оказывают действия на текстуру
base (поскольку a+0=a).
Subtract (вычитание)
Данный способ смешивания математически вычитает значения совпадающих пикселей текстуры
blend из значений текстуры
base. (a-b). Если разность даёт отрицательные значения — пиксель отображается чёрным.
Заметим, что чёрные пиксели в текстуре
blend не оказывают действия на текстуру
base (поскольку a-0=a), в то время как белые исходные пиксели наоборот, генерируют чёрные результирующие пиксели.
Multiply (умножение)
Базовый способ для затемнения областей текстур. Значения пикселей из обоих каналов просто перемножаются. Это даёт более тёмный результирующий пиксель, чем оба исходных, за исключением случая, когда один из них равен 1 (белый). То есть белый пиксель текстуры
blend не меняет исходного пикселя текстуры
base и наоборот, полностью чёрный пиксель текстуры
blend даёт чёрный результирующий пиксель. Этот способ тоже является коммутативным, т. е. каналы
base и
blend могут быть поменяны местами.
Screen (экран)
Это базовый способ для осветления текстур. Способ обратный способу
Multiply. В основе даёт всегда более светлый результирующий пиксель, чем оба исходных. За исключением случая, когда один из них равен 0 (чёрный). То есть чёрный пиксель текстуры
blend не меняет исходного пикселя текстуры
base и наоборот, полностью белый пиксель текстуры
blend даёт белый результирующий пиксель. Этот способ тоже является коммутативным, т. е. каналы
base и
blend могут быть поменяны местами.
Difference (отличие) 
Избирательно вычитается значение пикселей одно из другого, в зависимости от того, какой из них сваетлее, чтобы результирующий пиксель всегда имел положительное значение. Смешивание исходного пикселя с чёрным не производит изменений, т. к. а-0=а, а вот смешивание с белым — инвертирует результат (1-а). Этот способ смешивания производит большие изменения в результирующей текстуре. Также является коммутативным.
Divide (деление)
Этот способ просто делит значения пикселей текстуры
base на значения пикселей текстуры
blend (a/b). Поскольку зависимость обратная, то чем темнее пиксель
blend, тем светлее результирующий. Однако помните, что зависимость не линейная и с обычными значениями имеет верхний предел, поскольку а/0=> неопределённость.
Darken (Темнейший)
Значения пикселей обоих исходных каналов сравниваются, результирующим принимается более тёмный из них.
Lighten (Светлейший)+

Значения пикселей обоих исходных каналов сравниваются, результирующим принимается более светлый из них.
Процедурные текстуры
Процедурные текстуры — генерируемые компьютером изображения, призванные обеспечить по математическим алгоритмам имитацию структуры определённых природных или искусственных материалов — дерево, мрамор, гранит, металл, камень и т. д.
Процедурные текстуры могут быть использованы как обычные текстуры в канале цвета, или как карты для других свойств материала. Цвет процедурной текстуры в YafaRay регулируется двумя параметрами: Прямоугольник выбора цветовой палитры в закладке МарТо панели материалов и собственным диффузным цветом материала, назначенным в секции материалов интерфейса YafaRay.
Поддерживаемые типы процедурных текстур: cloud, marble, wood, voronoi, musgrave и distorted noise. Кроме того поддерживается ещё один тип процедурной текстуры - «RGB-Cube», доступный только при ручном редактировании XML-файла.
Noise BasisПоскольку все процедурные текстуры представляют собой некий алгоритм распределения шума по поверхности, то большинство из них имеет настройку типа процедурного текстурирования — Noise Basis, которая определяет структуру процедурной текстуры. YafaRay поддерживает все типы Noise Basis, которые имеются в Blender:
Рассмотрим параметры настройки каждой процедурной текстуры.
Clouds (облака)Хорошо подходит для мягкого бамп-маппинга неровных поверхностей.

•
Soft Noise/Hard Noise – мягкий/жёсткий тип шума
•
Noise Size - устанавливает размер зёрен шума
•
Noise Depth — глубина шума, чем выше значение, тем большая детальность зёрен шума
•
Noise Basis — выбор типа структуры процедурного текстурирования
Marble (Мрамор)Хорошо подходит для имитации мрамора ;)

•
Sharpness (чёткость) — кнопки Soft, Sharp, Sharper — чёткость текстуры
•
Soft Noise/Hard Noise – мягкий/жёсткий тип шума
•
Sin, Saw, Tri – типы форм полос на текстуре
•
Noise Size - устанавливает размер зёрен шума
•
Noise Depth — глубина шума, чем выше значение, тем большая детальность зёрен шума
•
Turbulence (завихрения) — величина завихрений для полос
•
Noise Basis — выбор типа структуры процедурного текстурирования
Wood (дерево)Для имитации структуры древесины

•
Bands/BandNoise – генерирует разную структуру полос
•
Rings/RingNoise – генерирует разную структуру колец
•
Soft Noise/Hard Noise – мягкий/жёсткий тип шума
•
Sin, Saw, Tri – типы форм полос на текстуре
•
Noise Size - устанавливает размер зёрен шума
•
Noise Depth — глубина шума. Выше значение - больше детальность зёрен шума
•
Turbulence (завихрения) — величина завихрений для полос или колец
•
Noise Basis — выбор типа структуры процедурного текстурирования завихрений
Musgrave (Грунт)Очень гибкая в настройках. Используется для поверхностей земли или скал.

•
Тип грунта — верхний выпадающий список. Поддерживаются все типы, исключая Hetero Terrain
•
H – контраст между составными слоями. Для детализации
•
Lacu — (Lacunarity) — пористость — зазор между слоями
•
Octaves – количество используемых составных слоёв
•
Iscale – шкала интенсивности — общая интенсивность текстуры
•
Noise Size - устанавливает размер зёрен шума
•
Noise Basis — выбор типа структуры процедурного текстурирования
•
Nabla — коэффициент автоматический дифференциации математической функции
Voronoi (Вороной)Алгоритм мозаики Вороного, выглядящий подобием клеточной ячеистой структуры. Гибок в настройках, используется для органических поверхностей.

•
Кнопки типа ячеек (Int, Col1, Col2, Col3 – тип и цвет ячеек
•
Distance Metric — - форма ячеек. Все типы поддерживаются
•
Iscale – шкала интенсивности — общая интенсивность текстуры
•
Size — размер ячеек
•
Weight – (вес) — W1, W2, W3, W4 — дистанция между отдельными ячейками
Distorted Noise (Искажённый шум)Сложный и универсальный алгоритм.

•
DistAmnt — величина искажений
•
Noise Size - устанавливает размер зёрен шума
•
Distortion Noise — список типов искажений. Все типы поддерживаются
•
Noise Basis — выбор типа структуры искажений