Per aspera ad astra или RoadMap по вашей будущей игре. Godot 4 C# Часть 14 "VFX".
Всем привет! Итак, что же такое VFX-эффекты? Если упрощать, то это визуальные эффекты. Да, да, всеми нами так любимые красивые вспышки от способностей персонажа, красивое свечение у выпавших предметов и т.д.
Ранее я раскрывал тему шейдеров, так вот визуальные эффекты тесно связаны с шейдерами.
Думаю, большинство из вас, кто пробовал создавать систему скиллов у персонажа, задумывалось, как это сделать, и впадало в некоторую степень фрустрации. Когда персонаж атакует мечом — это понятно. Добавляем мечу коллайдер или рейкаст и можно отслеживать столкновение с целью во время анимации удара. Однако если говорить о магах, которых мы так любим (или не очень), то тут возникает проблема.
Например, я хочу атаковать противника метеоритным дождём или вязким болотом. Как же этого добиться? По сути, всё достаточно просто: мы создаём невидимую область и привязываем к ней коллайдер. Область должна отслеживать всех противников, которые в неё попали, и наносить либо единоразовый урон, либо периодический. Также область должна быть связана с тем, кто её создал, и понимать, какому слою коллизии наносить урон.
Далее всё просто: при нажатии кнопки активации способности мы спавним область на определённом от персонажа расстоянии (можно создать область наведения, которая будет показывать место спавна области урона). Теперь противники начали получать урон, но область пока невидима для нас. Однако остался вопрос: как сделать красивый эффект падающих метеоритов?
В создании VFX участвует несколько вещей сразу. Для начала мы должны подготовить одну или несколько 3D-моделей, например, кратер с лавой, огненные глыбы, какие-либо разлетающиеся капли. Далее нам понадобится встроенный механизм в Godot для работы с шейдерами и частицами (для создания шлейфа пламени, например).
Создаём нужные модели, обрабатываем их шейдерами для создания необходимого вида и записываем с их участием анимацию. Эффект готов!
Осталось привязать его к нашей области поражения, которую мы создали для навыка мага, и теперь, когда вы будете спавнить область, необходимо запустить соответствующую анимацию. Готово!
По сути своей VFX-эффект является анимированной комбинацией частиц, шейдеров, текстур на определённом отрезке времени.
На YouTube я нашёл интересного автора, занимающегося VFX, его уроки достаточно понятны и просты, могу порекомендовать его.
Думаю, после чтения этой статьи и просмотра урока, вы с легкостью создадите свои скиллы.
Спасибо за внимание!