Это текстовая версия данного видео:
Итак, у нас есть такой небольшой проект с 2д платформером. Можем ходить, прыгать и стрелять в противника.

Но как-то стрельба выглядит очень сыро. Давай улучшим игру добавив… импакт всему что у нас есть.
Итак для начала добавим визуальное обозначение попадания во врага. Будем окрашивать его в белый цвет на короткое время. Так как модификатор цвета в годоте для объекта меняет лишь его оттенок – нам понадобиться простенький шейдер.
shader_type canvas_item;
uniform float whitening;
void fragment() {
vec4 texture_color = texture(TEXTURE, UV);
COLOR = vec4(mix(texture_color.rgb, vec3(1,1,1), whitening), texture_color.a);
}

Теперь мы видим что враг точно получил урон. Но враг при полном опустошении здоровья просто уничтожается. Во многих играх для подобного используется анимация смерти. Но у нас… нет этой анимации, увы. Но оставлять это мы так не будем и даже если вы не художник – вы можете использовать партиклы! Сделаем кровавые ошметки, которые будут вылетать со взрывом и…

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

А также к объекту земли нужно добавить ноду с припятствием для света, так как партиклы обрабатываются видеокартой. Из-за этого, кстати, работать они будут только на Vulkan.
Также мы можем их объединить с…

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

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


И добавим немного звуков:
Вот видите? Мы сделали совсем немного, но теперь стрелять по врагам намного приятнее! Добавляйте больше импакта к любым действиям, которые делает игрок, чтобы он меньше скучал!
Использованы ресурсы:
