Материалы смешивания 5 уровня в Unreal Engine 4

0
5
Материалы смешивания 5 уровня в Unreal Engine 4

Чтобы обрабатывать 5 текстур в настройке blend weights, вам нужно создать материал, подобный этому:

Обработка 5 текстур в blend weightsЭто очень похоже на 3х-уровневую и 4х-уровневую настройки. Однако, теперь мы выполняем один минус от альфа-значения, чтобы получить пятый цвет. Вот что происходит:

  • Каждый из цветовых каналов (ARGB) получает свое собственное выражение Linear Interpolation (lerp).
  • Добавляется дополнительный Lerp, управляемый 1 минус альфа узла Vertex Color. Это будет пятый цвет.
  • Каждая текстура подключается ко входу “B” соответствующего Lerp-узла.
  • Lerp, соответствующий текстуре 1, подключается к материалу, и его альфа будет управляться альфа-каналом из vertex color (цвета вершин).
  • Lerp, соответствующий текстуре 2, подключается ко входу “A” Lerp, соответствующему текстуре 1, и его альфа будет управляться красным каналом из vertex color (цвета вершин).
  • Lerp, соответствующий текстуре 3, подключается ко входу “A” Lerp, соответствующему текстуре 2, и его альфа будет управляться зеленым каналом из vertex color (цвета вершин).
  • Lerp, соответствующий текстуре 4, подключается ко входу “A” Lerp, соответствующему текстуре 3, и его альфа будет управляться синим каналом из vertex color (цвета вершин).
  • Lerp, соответствующий текстуре 5, подключается ко входу “A” Lerp, соответствующему текстуре 4, и его альфа будет управляться 1-альфой из vertex color (цвета вершин).
  • Текстура также как бы обертывается вокруг и становится вилкой “A” для 5-го и последнего Lerp. Это делает текстуру 1 текстурой по умолчанию.

После того, как это настроено, для параметра Blend Weights Texture Count (Измерение текстуры blend weights) необходимо установить значение 5 (1-ARGB).

настройки материала 5-уровневого смешения в UE4Вот пример этого материала, сначала с сеткой, просмотренной в режиме RGB, где показан vertex color на месте. Обратите внимание, что при этой настройке альфа (показана черным) соответствует текстуре 1, красный соответствует текстуре 2, зеленый соответствует текстуре 3, а синий соответствует текстуре 4. Кстати, альфа также используется для текстуры 5, и также отображается черным внизу.vertex color в режиме RGBИмеем вот такой окончательный результат:

vertex color в режиме RGB результатОбратите внимание, что когда vertex color в первом изображении черный (текстура 1), то никаких изменений нет. Это связано с тем, что Texture 1 также подключен к входу A 4-го выражения Lerp (см. Выше), делая его текстурой по умолчанию. По сути, вы начинаете с Texture 1 и можете рисовать текстуры 2, 3 и 4 вниз, как вы сочтете нужным, или нарисовать Texture 1 обратно на них в любое время.

Если бы вы собирались создавать такой материал снова и снова, это было бы отличной возможностью для развертывания пользовательской Material Function (функции материала)!