Многослойные Материалы в Unreal Engine 4

0
210
Многослойные Материалы в Unreal Engine 4

Многослойные Материалы можно рассматривать как «Материалы в материалах». Они предоставляют средства для создания единого Материала, который имеет ряд субматериалов (или слоев), которые могут быть размещены на поверхности ваших объектов с использованием операций на пикселях, таких как маски. Они идеально подходят для обработки сложного смешивания между уникальными типами поверхностей. На изображении ракет выше, ракета на правом краю использует отдельные слои материала, включая хром, алюминий и медь, и смешивается между каждым материалом по-пиксельной основе. Этот эффект легко достигается с помощью слоистых материалов.

В качестве функции Многослойные Материалы существуют как расширение Функций Материала. Функции, как вы помните, представляют собой автономные сети узлов, которые выполняют определенную операцию, такую ​​как сложное математическое уравнение. Эти функции затем могут быть повторно использованы по желанию в любом количестве Материалов. Из-за таких узлов как Make Material Attributes и Break Material Attributes функции также могут использоваться для определения Материала, полностью внутри Функции. Затем, введя эти функции в окончательный материал, вы можете получить многослойный материал.

получить многослойный материал UE4На изображении выше мы создали простой хромированный материал, полностью в пределах Функции Материала, через узел Make Material Attributes. Эта функция теперь может использоваться как Слой Материала и может быть смешана с другими слоями материалов.

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

Таким образом, на высоком уровне рабочий процесс выглядит следующим образом:

  • Создайте свой новый материал и настройте его до совершенства.
  • В контент браузере создайте новую функцию материала и скопируйте / вставьте в нее все свои узлы функций материала.
  • Подключите свою сеть к новому узлу Make Material Attributes и подключите его к выходу Function.
  • Сохраните функцию.
  • Перетащите функцию из контент браузера в редактор материалов. Теперь это слой материала.
  • Смешайте несколько слоев материала вместе с помощью функций Material Layer Blend.

Теперь ваш конечный объект может иметь несколько слоев материала, которые четко различаются на поверхности.

Основные преимущества

Одним из преимуществ использования многослойных материалов является то, что они позволяют создавать то, что в противном случае было бы очень сложным Материалом, а также более удобно ним управлять с точки зрения будущей возможности редактирования. Например, можно создать эффект многослойных материалов, используя обычный материал (без слоев), но для этого потребуются сложные сети для смешивания между различными текстурами и значениями для каждого входа Материала. Поскольку большинство Материалов используют несколько входных данных, сложность такого Материала значительно возрастет.

многослойный материал Ракета UE4Рассмотрим сложность нижеприведенной сети, которая не использует материальные слои и смешивает хром и медный эффект, например, тот, который был показан выше:

Без слоев материала

Без слоев материала UE4Однако при использовании многослойного материала каждый тип материала содержится в его собственном узле, что облегчает редактирование для художника. Используя узлы Make Material Attributes и Break Material Attributes, все различные слои материала могут быть подключены напрямую, без мысли о подключении отдельных свойств.

Сеть ниже работает так же, как и выше, но с эффектами хрома и меди, модулированные в свои собственные Слои Материалов:

Со слоями материала

Многослойные Материалы в Unreal Engine 4Еще одно преимущество Многослойных Материалов (Material Layers) заключается в том, что, поскольку они используют материальные функции, они могут использоваться повторно. Это позволяет вам создать библиотеку архетипов материала или материалы, которые определяют базовый тип поверхности реального мира. Например, вы можете создавать слои, которые представляют общие поверхности, такие как алюминий, сталь, кожа, пластик, резина и т.д. Затем вы можете использовать многослойный материал для смешивания между ними. Это может быть очень полезно, когда вы хотите создать подробный объект, например, персонаж – без необходимости создавать массивный набор материалов для нанесения их отдельно на поверхность.библиотека архетипов материала ue4

Типы смешивания

В списке Функций Материала Редактора Материалов есть список различных функций смешивания материала. Они существуют, чтобы помочь вам создавать свои варианты смешивания с различными типами, позволяющими использовать специальные типы, например, с возможностью переопределения конкретных свойств Материала.список функций смешивания материала UE4

Функции смешивания слоя материала

MatLayerBlend_AOСмешивает окружающую окклюзию (AO) на поверхность, чтобы удалить отражение.
MatLayerBlend_BaseColorOverrideПозволяет заменить Базовый Цвет.
MatLayerBlend_BreakBaseColorВыводит Базовый Цвет из входящего Слоя Материала.
MatLayerBlend_BreakNormalВыводит Normal из входящего Слоя Материала.
MatLayerBlend_DecalСмешивает лист декали поверх Материала с использованием второго UV-канала.
MatLayerBlend_Decal_UV3Смешивает лист декали поверх Слоя Материала с помощью 3-го UV-канала.
MatLayerBlend_EmissiveСмешивает Эмиссионную текстуру поверх Слоя Материала.
MatLayerBlend_GlobalNormalСмешивает текстуру Нормали поверх Слоя Материала.
MatLayerBlend_LightmassReplaceЗаменяет Базовый Цвет в Lightmass, что позволяет изменять результаты косвенного освещения.
MatLayerBlend_ModulateRoughnessУмножает Резкость Материального Слоя на входящую текстуру. Подходит для «жирного» вида.
MatLayerBlend_NormalBlendСмешивает текстуру Нормали по поверхности, но с помощью текстуры маски, позволяет контролировать, где будет отображаться нормаль.
MatLayerBlend_NormalFlattenУменьшает эффект карты Нормали.
MatLayerBlend_RoughnessOverrideЗаменяет текстуру Резкости Слоя Материала.
MatLayerBlend_SimpleОбеспечивает простой метод линейной интерполяции (Lerp) для двух Слоев Материала. Не смешивает Нормаль; вместо этого сохраняет Нормаль Базового Материала.
MatLayerBlend_StainСмешивает Верхний Материал поверх Базового Материала как пятно, что означает то, что используются только значения Базового Цвета и Резкости из Верхнего Материала.
MatLayerBlend_StandardСмешивает все атрибуты двух Слоев Материала.
MatLayerBlend_TintПозволяет оттенять Слой Материала, вводя цвет оттенка и маску для управления местоположением оттенка. Полезно для внесения частичных изменений цвета.
MatLayerBlend_TintAllChannelsПодобно Tint, но также влияет на Specular. Это очень особенная каузальная функция; скорее всего, вам это не понадобится.
MatLayerBlend_TopNormalСмешивает все атрибуты обоих Материалов, но использует только Нормаль Верхнего Материала.

Инстанцирование многослойных материалов

Поскольку многослойные материалы по существу являются Функциями Материала, параметрирование их для инстанцирования требует немного дополнительной предусмотрительности. Чтобы лучше использовать параметры Scalar и Vector Parameters, вы можете создать выражение Function Input как часть Слоя материала (Material Layer). Затем вы можете подключить параметр к этому входу из Материала верхнего уровня. Дополнительную информацию см. в разделе Обзор Функций Материала.

Поток работает примерно так:Function Input как часть Слоя материала UE4

  1. Параметр Материала (Скалярный параметр, Векторный параметр и т.д.)
  2. Слой Материала (Функция)
  3. Выражение входа функции (Function Input)
  4. Некоторая сеть для определения Слоя Материала
  5. Выход Функции
  6. Конечный Материал

Некоторые полезные советы:

  • При вставке ваших Выражений Материала в функцию для создания слоя замените все параметры соответствующим образом назначенными узлами Ввода Функций.
  • Когда вы приносите свой новый Слой Материала в Материал, подключите новые узлы параметров ко входам.
  • Теперь вы можете указать конечный Материал, и ваши параметры будут управлять соответствующими аспектами ваших слоев.
  • Обязательно укажите значения по умолчанию для своих Входов Функций. Это является скоростью рабочего процесса для тех, кому не нужно вносить изменения.

Предостережения

Хотя Многослойные Материалы и необходимы для обработки установок нескольких Материалов, при их использовании необходимо соблюдать осторожность. Они могут быть тяжелыми с точки зрения производительности, особенно если Материалы, используемые в слоях, сложны сами по себе.

Имейте в виду, что все ваши слои одновременно отображаются, а затем смешиваются. Например, если у вас было 4 слоя в Материале, то для каждого пикселя вашего объекта система должна проверить, какой из четырех был смешан, и отклонить все, что не используется. Этот добавленный расчет делает Многослойный Материал более интенсивным.

Первым импульсом может быть использование Многослойных Материалов в любое время, когда вы хотите иметь несколько типов поверхностей на объекте. Например, если у вас есть модель автомобиля, вы можете иметь один слой материала для краски, другой для стали, для резины, для стекла и т.д. Однако многие из этих Материалов могут быть разделены на уровне геометрии. Это создает больше Элементов Материала на ваших объектах, что увеличивает обратные вызовы, но, как правило, является намного эффективным. Короче говоря, если вы можете применять несколько Материалов вместо использования многослойного материала, тогда сделайте это. Если у вас должен быть контроль за пикселем над местом размещения Материалов, используйте такой многослойный материал.

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

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите свой комментарий!
Пожалуйста, введите ваше имя: