Слайд 2Материалы — это, пожалуй, один из самых критических аспектов того, как выглядят ваши
обьекты на сцене.
Математические выражения и сети
Первая и самая важная вещь, которую нужно знать о материалах это то, что они сконструированы не через код, а через сеть визуального скриптинга или нодов в Material Editor (Редакторе материалов). Каждая нода содержит HLSL код для выполнения специфических задач. Это значит, что создавая материал, вы создаете код путем визуального скрипта.
Слайд 3На данной картинке мы имеем очень простую систему, определяющую материал грубого деревянный
пола. Однако, схемы не обязательно должны быть простыми. Часто различные материалы имеют большое количество различных нодов.
Как вы наверное знаете, цвет в терминах цифрового изображения это совокупность четырех основных каналов.
R — Red
G — Green
B — Blue
A — Alpha
Так, для всех цифровых изображений, для каждого пикселя, общее количество каждого из этих каналов может быть представлено как число. Большая часть работы с материалом — это простая манипуляция с этими числами, основанная на условиях среды и математических выражениях.
Слайд 4Материалы используют число с плавающей точкой для данных, которые отвечают за цвет.
В основном это значит, что эти числа для каждого канала варьируются от 0.0 до 1.0 вместо 0 до 255, как это происходит в других программах для работы с цифровым изображением. Важно подметить, что вы всегда можете увеличивать ваши значения, что в некоторых случаях может привести к различным последствиям или даже нужным эффектам. К примеру, посылая цвет в свойство «Emissive» в настройках материала, которое вызывает внутреннее свечение, при значениях выше 1.0 увеличивается яркость этого свечения.
Слайд 5В случае материалов, текстуры просто представляют вид данных,
состоящий из пикселей.
Эти данные
могут быть цветом объекта, то как он блестит, его
прозрачность и другое. Существует способ олдскульного создания
Материалов через текстуры, когда применяется цвет к игровым
моделям. Создание текстур таким способом все еще сложно и в
настоящее время — нужно задумываться о том, что текстура, это
компонент материала, и то, что конечный результат вашей
текстуры не совпадает с таковым для материала.
Один материал может использоваться для различных текстур,
каждая из которых может быть применена для различных целей.
К примеру, простой материал может иметь Base Color texture, Specular texture, и Карту Нормалей. В добавок это может быть карта свечения или карта Roughness в альфа канале одной или более этих текстур.
Слайд 6Свойства материала нужны для визуализации материала и его отдельных свойств, например способность
отражать окружающую среду или рельеф материала.
Не все свойства обязательно применять и вносить в них изменения, так как они имеют значения по умолчанию. Например, когда вы создаете светящийся материал, вам может понадобится только Emissive Color, так как другие свойства не будут иметь значения или будут недоступны, в зависимости от Shading Model параметра. Из-за этого важно понимать, как должен выглядеть ваш материал в итоге.
Слайд 7Всего существует три самых важных параметра:
Blend Mode — Определяет, как материал смешивается
с пикселями позади.
Shading Model — Определяет, как поверхность материала влияет на свет.
Material Domain — Определяет, как будет использоваться материал.
Редактор материалов автоматически отключает неиспользуемые свойства в зависимости от параметров.
Подробнее о параметрах материалов.
Слайд 8Base Color определяет цвет материала.
Слайд 9Metallic
Данное свойство определяет, насколько материал металлизированный. Неметаллические материалы должны иметь Metallic на
нуле, в то время как металлические — на единицу. Для чистых поверхностей, рекомендуется использовать значение 0 ИЛИ 1. Для грязных, ржавых и т.п. поверхностей возможно потребуется использовать значение между 0 и 1.
Слайд 10Specular
Данное свойство влияет на то, насколько блестящий неметаллический материал. На металлический материал
данное свойство влиять никак не будет.
На практике, данное свойство должно оставаться без изменений(по умолчанию — 0.5) в большинстве случаях.
Слайд 11Roughness
Шероховатость материала. При увеличении данного свойства, материал будет сильнее рассеивать свет. Благодаря
чему, нулевое значение будет означать полностью гладкий и отражающий материал, а значение 1 будет полностью рассеивать свет.
Слайд 12Emissive Color
Определяет, какая часть(при использовании маски) материала будет светится.
Значения больше 1 позволят
создать HDR эффект и эффект свечения.
Слайд 13Opacity
Данное свойство определяет прозрачность материала и доступно только при Translucent Blend Mode.
0 —
Полностью прозрачный
1 — Полностью видимый
Слайд 14Opacity Mask
Аналогично Opacity, однако используется с Masked Blend Mode. Так же отличается
от Opacity тем, что имеет лишь два состояния: Полностью прозрачный или полностью видимый.
Можете использовать Opacity Mask Clip Value для того, что бы отрезать маску для использования с данным свойством.
Слайд 15Normal
Данное свойство использует карту нормалей, которая служит для того, что бы создать
рельеф(Эффект, не реальное выдавливание) для поверхности.
Слайд 16World Position Offset
Данное свойство позволяет манипулировать вертексами объекта с помощью материала. Это
полезно для того, что бы менять форму статичного объекта.
При использовании WPO для того, что бы изменить границы объекта, учтите, что рендер все равно будет использовать оригинальную геометрию, поэтому могут быть артефакты в тенях.
Слайд 17World Displacement и Tessellation Multiplier
World Displacement работает примерно как и WPO, однако
использует тесселляцию вместо обычных вертексов(как WPO). Для использования данного свойства, опция Tessellation должна быть включена в параметрах материала.
Tessellation Multiplier определяет силу тесселляции и используется для того, что бы добавить деталей там, где нужно. При использовании с World Displacement значение нужно выставить больше нуля.
При использовании World Displacement для того, что бы изменить границы объекта, учтите, что рендер все равно будет использовать оригинальную геометрию, поэтому могут быть артефакты в тенях.
Слайд 18Subsurface Color
Определяет цвет света, который проходит свозь поверхность. Например для материала людской
кожи, цвет Subsurface должен быть красным, что бы симулировать влияние крови на свет, проходящий сквозь поверхность.
Данное свойство доступно только при Translucent Blend Mode.
Слайд 19Ambient Occlus
Данное свойство отвечает за само-затенение, которое часто зависит от неровности объекта
или рельефа поверхности. Обычно соединяется с АО картой, которая генерируется сторонней программой.
Слайд 20Refraction
Свойство, отвечающее за преломляемость поверхности. Полезно для таких поверхностей, как стекло или
вода, которые преломляют свет, проходящий свозь материал.
Коэффициенты преломления для некоторых материалов:
Воздух — 1.00
Вода — 1.33
Лед — 1.31
Стекло — 1.52
Алмаз — 2.42
Слайд 21Clear Coat
Данный эффект хорошо симулирует двуслойный материал, который имеет прозрачный слой поверх.
Например деревянная поверхность покрытая стеклянной плитой для гладкости. Используется с Clear Coat Shading Model параметром.
Данная модель имеет два свойства:
Clear Coat: сила эффекта. 0 — обычный материал, 1 — Материал м Clear Coat слоем. Полезно для использования маски.
Clear Coat Roughness: Шероховатость Clear Coat слоя.