Гайд на глобальное управление ветром в Unreal Engine 5

Гайд на глобальное управление ветром в Unreal Engine 5

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

Несомненно, вы можете изменять силу ветра отдельно для каждого инстанса материала, ну а что, если этих инстансов очень много, а нужно сделать например систему погоды? Придется менять интенсивность для каждого отдельного материала? Конечно же нет. На помощь нам приходит такая штука, как Material Parameter Collection.

Официальная документация описывает инструмент так: "MaterialParameterCollection — это ресурс , который хранит произвольный набор скалярных и векторных параметров , на которые можно ссылаться в Material".

То есть, мы задаем какие-либо параметры, получаем эти параметры в материале (их количество может быть неограниченно), и спокойно взаимодействуем с этими глобальными переменными.

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

Жмакайте ПКМ в вашей папке с ассетами, и найдите MaterialParameterCollection, назовите так, чтобы потом понять смысл этого ассета.

Гайд на глобальное управление ветром в Unreal Engine 5

Создайте новый скалярный параметр. Назовите его, например, "Global Wind Force". Сохраните ассет, и можете его закрыть.

Гайд на глобальное управление ветром в Unreal Engine 5

Теперь откройте главный материал, который мы делали в прошлый раз, либо ваш собственный.

Создайте ноду "Collection Parameter", слева в поле "Collection" выберете ваш созданный ассет с глобальными параметрами, а в "Parameter Name" укажите ваш скалярный параметр.

Гайд на глобальное управление ветром в Unreal Engine 5

Теперь у нас есть ссылка на глобальный параметр, которую можем использовать в материале.

Найдите созданный ранее параметр "Wind Intensity". Умножьте его (позже поймете для чего) на наш глобальный параметр, и подключите обратно. Скомпилируйте материал, и вернитесь на сцену.

Гайд на глобальное управление ветром в Unreal Engine 5

Если у вас на уровне уже есть деревья, откройте созданный MaterialParameterCollection, и попробуйте изменить значение созданного параметра.

Готово! Теперь один параметр влияет на все деревья. А так как мы в материале параметр умножали на Wind Intensity, мы можем дополнительно для каждого отдельного инстанса отрегулировать Wind Intensity, задав силу влияния глобального параметра на листву.

Спасибо что дочитал до этой строчки!

А если интересно, можешь подписаться на наш тг канал. Мы готовим игру в сеттинге северной России. Будем рады, если загляните!

5
1
1
1 комментарий

Что такое "холодный" сеттинг?