Эффект бабочки на частицах Unity
В этой публикации я хочу поделиться тем, как при помощи частиц Юнити можно создать эффект махающих крыльев у бабочек, стрекоз, птиц вдалеке и т.д.
Итак, приступим.
Для начала нам нужно нарисовать крылья бабочки.
Открываем любой графический редактор и рисуем нечто похожее на это:
А в общем текстурном атласе, который я использую для других элементов эффектов этого персонажа это будет выглядеть вот так:
Сразу определимся какой по счёту кадр будет попадать на эти крылья. Здесь я рассчитал сетку 8х8 кадров для этого атласа и 33й кадр для крыльев.
Для каждого текстурного элемента в настройках системы частиц задаются свои уникальные параметры кол-ва кадров и нужного кадра для использования. Выглядит это так:
Следующий шаг - создание материала. В данном случае используем обычный блендовый шейдер из арсенала Юнити.
Материал готов. Назначаем его в слот Material в свитке Renderer и выставляем указанные настройки:
Далее делаем следующие настройки системы частиц:
И еще настроим другие параметры:
Настройка одной половинки завершена. Должно получится примерно вот такое:
Теперь нам нужно лишь скопировать настроенную систему частиц (Ctrl+D), Создать из них иерархию, перетащим одну в другую:
Теперь остаётся лишь развернуть изначальную ориентацию второго крыла, чтобы это стало похоже на бабочку с двумя крыльями. Для этого нужно вместо -90 градусов по Х выставить во второй системе частиц 90 градусов по Х.
И самое важное! Сняв в обоих системах галочку Auto Random Seed и выставив одинаковое значение в обоих системах (в нашем случае 10), мы заставляем частицы обоих систем полностью повторять все события другой. Таким образом крылья одной бабочки не летят в разные стороны, а машут синхронно, перемещаются в пространстве, появляются и пропадают тоже синхронно.
Если захотите добавив бабочек другого цвета, то сделайте еще такую же "спаренную" конструкцию из партикл систем с другим цветом.
Скорость взмаха крыльями регулируется параметром вращения по Х:
Так же нужно помнить, что в подобных парных системах должны совпадать все параметры, чтобы они работали корректно.
Спасибо за внимание и удачи с эффектами :)