Векторные Выражения в Unreal Engine 4

0
33
Векторные Выражения в Unreal Engine 4

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

ActorPositionWS

ActorPositionWS выводит данные Vector3 (RGB), представляющие местоположение объекта с этим материалом на нем в мировом пространстве.

Цвета Позиции Актера UE4

Сеть Позиций Субъектов UE4

В этом примере вы можете видеть, что ActorPositionWS подается непосредственно в Базовый Цвет материала. В результате каждая из сфер с нанесенным на них материалом имеет другой цвет, поскольку они перемещаются в разные места в трехмерном пространстве. Обратите внимание, что результат узла ActorPositionWS делится на 1600, чтобы создать приятный цвет вставки, а не наоборот.

CameraPositionWS

Выражение CameraWorldPosition выводит трехканальное векторное значение, представляющее положение камеры в мировом пространстве.

Сфера предварительного просмотра изменяет цвет при повороте камеры.

Пример положения камеры WS UE4

Положение камеры WS сеть UE4

CameraVectorWS

Выражение CameraVector выводит трехканальное векторное значение, представляющее направление камеры относительно поверхности, другими словами, направление от пикселя к камере.

Пример использования: CameraVector часто используется для подделки карт окружения путем подключения CameraVector к ComponentMask и использования x и y каналов CameraVector в качестве координат текстуры.

Пример вектора WS камеры UE4

Constant2Vector

Выражение Constant2Vector выводит двухканальное векторное значение, другими словами, два постоянных числа.

НазваниеОписание
Свойства
RЗадает плавающее значение красного (первого) канала вектора выходов выражения.
GЗадает плавающее значение зеленого (второго) канала вектора выходов выражения.

Примеры: (0.4, 0.6), (1.05, -0.3)

Пример использования: Constant2Vector полезен для изменения координат текстуры, так как они также являются двухканальными значениями.

Постоянный 2 Пример UE4

Вы можете быстро создать узел Constant2Vector, удерживая клавишу 2 и левую кнопку мыши в области графика редактора материалов.

Constant3Vector

Выражение Constant3Vector выводит трехканальное векторное значение, другими словами, три числа констант. Цвет RGB можно рассматривать как Constant3Vector, где каждому каналу назначается цвет (красный, зеленый, синий).

НазваниеОписание
Свойства
RЗадает плавающее значение красного (первого) канала вектора выходов выражения.
GЗадает плавающее значение зеленого (второго) канала вектора выходов выражения.
BЗадает плавающее значение синего (третьего) канала вектора выходов выражения.

Пример использования: (0.4, 0.6, 0.0), (1.05, -0.3, 0.3)

Постоянный 3 Пример UE4

Вы можете быстро создать узел Constant3Vector, удерживая кнопку 3 и левую кнопку мышки в области графика Редактора Материалов.

Constant4Vector

Выражение Constant4Vector выводит четырехканальное векторное значение, другими словами, четыре константных числа. Цвет RGBA можно рассматривать как Constant4Vector, где каждому каналу присваивается цвет (красный, зеленый, синий, альфа).

НазваниеОписание
Свойства
RЗадает плавающее значение красного (первого) канала вектора выходов выражения.
GЗадает плавающее значение зеленого (второго) канала вектора выходов выражения.
BЗадает плавающее значение синего (третьего) канала вектора выходов выражения.
AЗадает плавающее значение альфа (четвертого) канала вектора выходов выражения.

Примеры: (0.4, 0.6, 0.0, 1.0), (1.05, -0.3, 0.3, 0.5)

Постоянный 4 Пример UE4

Вы можете быстро создать узел Constant4Vector, удерживая кнопку 4 и левую кнопку мышки в области графика Редактора Материалов.

LightVector

Это выражение устарело в Unreal Engine 4, поскольку вычисления освещения теперь отложены.

Object Bounds

Выражение Object Bounds выводит размер объекта по каждой оси. При использовании в качестве цвета оси X, Y и Z соответствуют R, G и B.

Сцена Границ Объекта UE4Сеть Границ Объектов UE4

В приведенном выше примере вы можете видеть, что цвета объектов соответствуют самой длинной оси объекта.

ObjectOrientation

Выражение ObjectOrientation выводит вектор объекта мирового пространства вверх. Другими словами, локальная положительная z-ось объекта указывается в этом направлении.

Пример Ориентации Объекта UE4

ObjectPositionWS

Выражение ObjectPositionWS выводит положение центра мира в пространстве объектов. Например, это полезно для создания сферического освещения для листвы.

Положение WS сцены в мире UE4Всемирная Позиционная Сеть UE4

ParticlePositionWS

Выражение ParticlePositionWS выводит данные Vector3 (RGB), представляющие положение каждой отдельной частицы в мировом пространстве.

Пример положения частиц WS UE4

На этом изображении ParticlePositionWS подается в эмиссионный цвет для визуализации данных. Система частиц была увеличена, чтобы показать, как меняется цвет в зависимости от положения.

PixelNormalWS

Выражение PixelNormalWS выводит векторные данные, представляющие направление, с которым сталкиваются пиксели, на основе текущей нормали.

Пример WS нормального пиксела UE4

В этом примере PixelNormalWS загружается в базовый цвет. Обратите внимание, как используется обычная карта для получения результата за пиксель.

Pre-Skinned Local Normals

Векторное выражение Pre-Skinned Local Normals выводит трехканальное векторное значение, представляющее нормаль локальной поверхности для скелетных и статик мешей. Это позволяет вам получить выровненные по горизонтали трехслойные материалы и выровненные мешью эффекты в ваших материалах.

В этом примере материал использует трехплановую текстуру, выровненную по отношению к нормали локальной поверхности меши.

Pre-Skinned Local Normals UE4

Векторное выражение ue4Векторное выражение Tri-Planar Pre-Skinned Local NormalТрехплановый Материал UE4Трехплановый Материал

Pre-Skinned Local Position

Векторное выражение Pre-Skinned Local Position положения выводит трехканальное векторное значение, которое дает доступ к данным позиции позиции по умолчанию для скелетной меши для использования в выводах с вершинами. Это позволяет использовать локализованные эффекты для анимированного персонажа. Это векторное выражение также можно использовать со статик мешами, которые возвращают стандартную локальную позицию.

Предварительно Ободранные Местные Позицию UE4

В этом примере для позы Skeletal Mesh по умолчанию используется сопоставление с UV mapping по умолчанию справа.

Векторное Выражение UE4Векторное Выражение Pre-Skinned Local PositionUV слой Скелетной Меши по умолчанию UE4UV слой Скелетной Меши по умолчанию

ReflectionVectorWS

Выражение ReflectionVectorWS аналогично выражению CameraVectorWS, но оно выводит трехканальное векторное значение, представляющее направление камеры, отраженное по поверхности.

Пример использования: ReflectionVector обычно используется в картах окружения, где компоненты x/y вектора отражения используются как UVs в текстуру кубмапы.

Пример вектора отражения WS UE4

VertexNormalWS

Выражение VertexNormalWS выводит нормаль вершины мирового пространства. Его можно использовать только в материалах, которые выполняются в вершинном шейдере, например WorldPositionOffset. Это полезно для создания или сглаживания меши. Обратите внимание, что положение смещения вдоль нормали приведет к разложению геометрии вдоль UV-швов.

Пример вершинной нормали WS UE4

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

Vector Noise

Пример Векторного Шума UE4

Выражение Vector Noise Material добавляет еще несколько трехмерных или 4D-векторных шумовых эффектов для использования в ваших Материалах. Из-за затрат времени на выполнение этих функций рекомендуется, чтобы после того, как с ними был разработан внешний вид, все или часть вычислений запекаются в текстуру с использованием функции Draw Material to Render Target Blueprint, представленной в Unreal Engine 4.13 и более поздних версиях. Эти Выражения графика Материала позволяют обрабатывать процедурные виды в движке на конечных активах, предоставляя альтернативу созданию обработанных процедурами Текстур с внешним инструментом для применения к активам в UE4. Внутри выражения материала Vector Noise вы найдете следующие типы Vector Noise.

ИзображениеНазваниеОписание
Шум клетки UE4CellnoiseВозвращает случайный цвет для каждой ячейки в трехмерной сетке (т.е. от операции математического яруса, применяемой к вводу узла). Результаты всегда соответствуют заданной позиции, поэтому могут обеспечить надежный способ добавления случайности к Материалу. Эта функция векторного шума чрезвычайно дешева для вычисления, поэтому нет необходимости запекать ее в Текстуру для производительности.
Векторный шум UE4Perlin 3D NoiseВозвращает случайный цвет для каждой ячейки в трехмерной сетке (т.е. от операции математического яруса, применяемой к вводу узла). Результаты всегда соответствуют заданной позиции, поэтому могут обеспечить надежный способ добавления случайности к Материалу. Эта функция векторного шума чрезвычайно дешева для вычисления, поэтому нет необходимости запекать ее в Текстуру для производительности.
Градиентный шум UE4Perlin GradientВычисляет аналитический трехмерный градиент скалярного симплексного шума Perlin Simplex Noise. Выход состоит из четырех каналов, где первые три (RGB) являются градиентом, а четвертый (A) – скалярным шумом. Этот тип шума полезен для ударов на поверхности или для потоковых карт.
Завиток шума UE4Perlin GradientВычисляет аналитический 3D-завиток векторного шума Perlin Simplex Noise (он же Curl Noise). Вывод представляет собой трехмерный подписанный вектор завивки и полезен для потока жидкости или частиц.
Вороной шум UE4VoronoiВычисляет тот же шум Voronoi, что и скалярный узел шума. Скалярный шум Voronoi рассеивает семенные точки в трехмерном пространстве и возвращает расстояние до ближайшего. Версия Vector Noise возвращает местоположение ближайшей начальной точки в RGB и расстояние до нее в A. Особенно в сочетании с Cellnoise это может привести к некоторому случайному поведению на клетку Voronoi.

Ниже представлен простой материал из каменного слоя с использованием компонента расстояния Vector Noise/Voronoi для модуляции некоторых поверхностных ударов и смешивания в мхах в трещинах и положения семян вместе с Vector Noise/Cellnoise, чтобы изменить цвет и высоту рельефа на камень.

Каменный пример UE4

Операции на основе производных Perlin Curl и Perlin Gradient могут быть добавлены вместе в октавах, так же, как обычные шумы Perlin. Для производных более сложных выражений необходимо вычислить градиент результата выражения. Чтобы помочь в этом, поместите выражение для вычисления в функцию материала и используйте его со следующими вспомогательными узлами.

НазваниеОписание
Prepare3DDerivИспользует смещение позиций в тетраэдрическом шаблоне для вычисления трехмерных производных. Оценивает одну и ту же трехмерную функцию в каждой позиции смещения, созданной этой функцией, затем передает полученные значения в Compute3DDeriv.
Compute3DDerivИспользует смещение позиций в тетраэдрическом шаблоне для вычисления трехмерных производных. Использовать с Prepare3DDeriv.
GradFrom3DDerivВычисляет вектор 3D-градиента из результата Prepare3DDeriv/Compute3DDeriv.
CurlFrom3DDerivВычисляет завиток трехмерного векторного поля из результата Prepare3DDeriv/Compute3DDeriv.
Эти вспомогательные функции материала используют четыре оценки базового выражения, расположенного на четырехгранном рисунке, для приближения этих операций на основе производных.

Ниже вы найдете описания различных функций шума, которые вы найдете в выражении материала Vector Noise.

НазваниеОписание
Свойства
Function
QualityНастройка вида/производительности. Более низкие значения быстрее, но могут выглядеть хуже, более высокие значения медленнее, но могут выглядеть лучше.
TilingДля шумовых функций, которые его поддерживают, это позволяет использовать шум для тайлинга. Это дороже, но полезно, когда запекаете шум в бесшовную текстуру обертывания.
Tile SizeКак часто должен повторяться шум при тайлинге. Для вариантов шума Perlin размер плитки должен быть кратным трем.
Входы
PositionПозволяет настроить размер текстуры с помощью 3D-вектора.
  • Образец Материала Cell Noise:

Шум клетки 1 UE4

  • Образец Материала Perlin Gradient:

Градиент Перлина UE4

  • Образец Материала Voronoi:

Вороной UE4