Световые эффекты можно использовать по-разному — например, чтобы привлечь внимание игрока к чему-то важному на острове или для создания особой атмосферы (например, призрачной).
Перед тем, как приступить к этому обучению, ознакомьтесь с разделом Использование входа излучения документации по Unreal Engine, чтобы получить базовое понимание этого процесса.
Далее описан общий процесс создания мерцающего маячка.
Создайте новый материал в проекте, а затем дважды нажмите на миниатюру материала, чтобы открыть Редактор материалов.
Добавьте следующие узлы:
Узел Время
Узел Синусоида
Узел Constant3Vector
Узел ComponentMask
Узел TextureCoordinate
Узел ConstantBiasScale
Узел BreakOutFloat2Components
Узел Увеличить насыщенность
2 узла OneMinus
2 узла Абс.
2 узла NormalWS вершины
5 узлов Умножить
В окне предпросмотра измените сетку на Цилиндр.
Добавьте цвет к узлу выражение Constant 3 Vector и соедините его с вводом B первого узла Умножить.
Нажмите правой кнопкой мыши на узел Выражение Constant 3Vector, чтобы изменить его на узел Параметр, а затем соедините нижний ввод с вводом B первого узла Умножить.
Соедините верхний вывод узла Выражение Constant 3Vector с вводом A первого узла Умножить и вводом «Базовый цвет» Основного узла материала.
Соедините узел Умножение с вводом Испускаемый цвет узлаОсновной материал.
Эта конфигурация задаёт базовый цвет и умножает световой эффект на входе излучения. Вы можете настроить яркость цвета, изменив числовое значение ввода Альфа с помощью Параметра вектора выражения материала на панели Сведения.
Теперь сетка готова к применению эффектов материала.
Соедините узел TextureCoordinate с узлом BreakOutFloat02Components. Эта конфигурация позволяет определить, сколько места должны занимать вершины.
Соедините вывод G узла BreakOutFloat02Component с узлом ConstantBiasScale. Так вы получите параметр для пространства текстуры с диапазоном от –1 до +1.
Разверните узел ConstantBiasScale и измените значение Смещение на -0,5, а значение Масштаб — на 2,0.
Соедините узел ConstantBiasScale с первым узлом Абс. Так вы преобразуете все отрицательные значения в положительные.
Соедините первый узел Абс. с узлом 1 минус.
Соедините узел 1 минус с вводами A и B второго узла Умножить. Так вы инвертируете значения по осям Y и X.
Соедините второй узел Умножить с вводом A третьего узла Умножить.
Выберите Основной узел материала, а затем на панели Сведения выберите Режим смешивания > Прозрачный.
Соедините третий узел Умножить с вводом Непрозрачность основного корневого узла.
Такая конфигурация позволит сохранить форму цилиндра, поскольку эффект исчезновения применяется к верхней и нижней частям цилиндра.
Соедините узел VertexNormalWS с узлом ComponentMask.
Выберите узел ComponentMask, а затем отметьте только ввод B в разделе Маска компонентов выражения материала на панели Сведения.
Соедините узел ComponentMask со вторым узлом Абс.
Соедините второй узел Абс. с узлом Увеличить насыщенность.
Соедините узел Увеличить насыщенность с узлом OneMinus.
Соедините узел 1 минус с вводом B третьего узла Умножить.
Несмотря на то что вход «Непрозрачность» не подсвечивается, цилиндр меняет форму в окне предпросмотра. Теперь он имеет форму луча света фонарика.
Соедините узел Время с узлом Синусоида.
Соедините узел Синусоида с вводом A четвёртого узла Умножить.
Соедините узел Константа с вводом B узла Умножить, после чего измените его значение на 15,0. Это позволит масштабировать эффект мерцания.
Соедините четвёртый узел Умножить с вводом A пятого узла Умножить.
Соедините узел VertexNormalWS с вводом B пятого узла Умножить. Это позволит масштабировать мерцание с учётом нормалей к вершинам сетки.
Соедините пятый узел Умножить с вводом Смещение позиции в мире корневого узла материала.
Теперь цилиндр мерцает в такт синусоидальному сигналу.
Примените этот эффект к сетке в окне просмотра. Вы можете отредактировать частоту синусоидального сигнала, чтобы замедлить мерцание.