Материалы в Unreal Engine 4

1.

Материалы в
Unreal Engine 4

2.

Основы материалов

3.

Материал — Ассет, который может быть применен на
поверхность модели или браша для установки его внешнего
вида. Простым языком, материал — краска, которая наносится
на объект. Однако материал не только контролирует цвет
поверхности, но и его гладкость, прозрачность, сияние,
металлические свойства, даже рельеф и многое другое, что
касается поверхностей объектов.
В более техническом смысле, в момент попадания света на
поверхность, материал определяет то, как поверхность
взаимодействует со светом и какой результат нужно показать
на экран пользователя. Все это определяется
математическими расчетами, используя текстуры и формулы,
которые можно устанавливать самому для того, чтобы
добиться нужного вида материала.

4.

Математические выражения и сети
Первая и самая
важная вещь,
которую нужно
знать о
материалах это
то, что они
сконструированы
не через код, а через сеть визуального скриптинга или нодов в
Material Editor (Редакторе материалов). Каждая нода содержит
High-Level Shading Language (HLSL) код для выполнения
специфических задач. Это значит, что создавая материал, вы
создаете код путем визуального скрипта.

5.

Математические выражения и сети
Цвет в терминах цифрового изображения это совокупность
четырех основных каналов.
R — Red
G — Green
B — Blue
A — Alpha
Alpha канал отвечает за
прозрачность материала.
R: 1.0
G: 0.0
B: 0.0
R: 0.5
G: 1.0
B: 0.3
R: 0.5
G: 0.0
B: 1.0
R: 0.5
G: 0.5
B: 0.5

6.

Математические выражения и сети
Материалы используют число с плавающей точкой для данных,
которые отвечают за цвет. В основном это значит, что эти числа
для каждого канала варьируются от 0.0 до 1.0 вместо 0 до 255,
как это происходит в других программах для работы с
цифровым изображением.

7.

Применение материалов на поверхности
Вы можете применять материалы к мешам различными
способами: перетаскиванием из Content Browser на меш в
вашей сцене, через Static и Skeletal Editor.
В отличии от
мешей, применяя
материал к BSP
Brush, можно
задать разные
материалы для
разных
поверхностей.

8.

Свойства материалов

9.

Свойства материалов
Свойства материала нужны для
визуализации материала и его
отдельных
свойств,
например
способность отражать окружающую
среду или рельеф материала.

10.

Свойства материалов
Не все свойства обязательно применять и вносить в них
изменения, так как они имеют значения по умолчанию.
Например, когда вы создаете светящийся материал, вам может
понадобится только Emissive Color, так как другие свойства не
будут иметь значения или будут недоступны, в зависимости от
Shading Model параметра. Из-за этого важно понимать, как
должен выглядеть ваш материал в итоге. Всего существует три
важных
параметра:как материал
•самых
Blend Mode
— Определяет,
смешивается с пикселями позади.
• Shading Model — Определяет, как поверхность
материала влияет на свет.
• Material Domain — Определяет, как будет
использоваться материал.

11.

Base Color
Base Color просто определяет общий цвет материала. Он
принимает в значении Vector3 (RGB), и каждый канал
автоматически варьируется между 0 и 1.

12.

Base Color
Рассмотрим, как можно задать цвет материала с помощью
скаляра, двух-, трехзначных векторов. Для этого возьмем
простой материал «M_AssetPlatform», который имеется в
стартовом наборе.
Если мы подадим скалярное значение на
ввод Base Color, то в диапазоне значений от
0,0 до 1,0 мы будем изменять цвет от
черного до белого, соответственно.
Следовательно промежуточными
значениями будут оттенки серого.

13.

Base Color
Если на вход Base Color
будет подано значение
вектора из двух
значений, то мы сможем
работать с двумя
цветами R – красным и
G – зеленым.

14.

Base Color
Если же на вход Base Color будет подано значение вектора из трех
значений, то мы сможем работать со всеми цветами RGB.

15.

Metallic
Metallic буквально управляет тем, насколько металлическая ваша
поверхность. Значение 0 для неметаллов и значение 1 для
металлов. Для чистых поверхностей, таких как чистый металл,
натуральный камень, чистый пластик и т.д. Это значение будет 0
или 1, а не что-то между. При создании гибридных поверхностей,
например, коррозийных, пыльных и ржавых металлов, вы можете
обнаружить, что вам нужно некоторое значение в диапазоне от 0
до 1

16.

Metallic
0.0
0.5
1.0

17.

Specular
Данное свойство влияет
на то, насколько
блестящий
неметаллический
материал. На
металлический материал
данное свойство влиять
никак не будет.

18.

Specular
0.0
0.5
1.0

19.

Roughness
Roughness буквально управляет тем, насколько шероховат
материал. Грубый материал будет рассеивать отраженный свет в
нескольких направлениях. Roughness 0 (гладкий) является
зеркальным отражением и Roughness 1 (грубый) полностью
матовый.

20.

Roughness
0.0
0.5
1.0

21.

Emissive Color
Определяет, какая часть (при использовании маски) материала
будет светится.
Значения больше 1 позволят создать HDR эффект и эффект
свечения.

22.

Opacity
Данное свойство определяет прозрачность материала и доступно
только при Blend Mode установленным в Translucent.
0 — Полностью прозрачный
1 — Полностью видимый

23.

Opacity
Для задания Opacity можно использовать четырехзначный вектор,
Alpha канал которого подключить к данному свойству.
ИЛИ

24.

Normal
Данное свойство использует карту нормалей, которая служит для
того, что бы создать рельеф (эффект, не реальное выдавливание)
для поверхности.

25.

World Position Offset
Данное свойство позволяет манипулировать вертексами объекта с помощью
материала. Это полезно для того, что бы менять форму статичного объекта.
При использовании WPO для того, что бы изменить границы объекта, учтите, что
рендер все равно будет использовать оригинальную геометрию, поэтому могут
быть артефакты в тенях.

26.

World Displacement и Tessellation Multiplier
World Displacement работает
примерно как и WPO, однако
использует тесселяцию вместо
обычных вертексов (как WPO). Для
использования данного свойства,
опция Tessellation должна быть
включена в параметрах материала.
Tessellation Multiplier определяет
силу тесселяции и используется для
того, что бы добавить деталей там,
где нужно. При использовании с
World Displacement значение нужно
выставить больше нуля.
При использовании World Displacement для того, что бы изменить границы объекта, учтите, что
рендер все равно будет использовать оригинальную геометрию, поэтому могут быть артефакты в
тенях.

27.

Ambient Occlusion
Данное свойство
отвечает за самозатенение, которое
часто зависит от
неровности объекта
или рельефа
поверхности. Обычно
соединяется с АО
картой, которая
генерируется
сторонней
программой (3Ds Max
или Zbrush).

28.

Refraction
Свойство, отвечающее за преломляемость поверхности. Полезно
для таких поверхностей, как стекло или вода, которые преломляют
свет, проходящий свозь материал.
Коэффициенты преломления
для некоторых материалов:
Воздух — 1.00
Вода — 1.33
Лед — 1.31
Стекло — 1.52
Алмаз — 2.42

29.

Clear Coat
Данный эффект хорошо
симулирует
двуслойный материал,
который имеет
прозрачный слой
поверх. Например
деревянная
поверхность покрытая
стеклянной плитой для
гладгости. Используется
с Clear Coat Shading
Model параметром.
Данная модель имеет два свойства:
Clear Coat: сила эффекта.
0 — обычный материал, 1 — Материал c Clear Coat слоем. Полезно для использования маски.
Clear Coat Roughness: Шерховатость Clear Coat слоя.

30.

Свойства материалов
Важно подметить, что вы всегда можете
увеличивать ваши значения, что в некоторых
случаях может привести к различным
последствиям или даже нужным эффектам. К
примеру, посылая цвет в свойство «Emissive
Color» в настройках материала, которое
вызывает внутреннее свечение, при значениях
выше 1.0 увеличивается яркость этого
свечения.

31.

Спасибо за внимание
English     Русский Правила