{"id":3826,"url":"\/distributions\/3826\/click?bit=1&hash=aa8ae934c4b405b2d10a14343e22e97821fd478e8a4a31defae61d161d040867","title":"\u041e\u0444\u0444\u0435\u0440 \u0434\u043b\u044f \u0434\u0436\u0430\u0432\u0438\u0441\u0442\u0430-\u043c\u0438\u0434\u0434\u043b\u0430 \u0437\u0430 \u043e\u0434\u0438\u043d \u0434\u0435\u043d\u044c","buttonText":"\u0413\u0434\u0435 \u0442\u0430\u043a\u043e\u0435?","imageUuid":"2b70606f-740c-5d85-8a71-8a33c5f66557","isPaidAndBannersEnabled":false}

Эффект бабочки на частицах Unity

В этой публикации я хочу поделиться тем, как при помощи частиц Юнити можно создать эффект махающих крыльев у бабочек, стрекоз, птиц вдалеке и т.д.

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

Итак, приступим.
Для начала нам нужно нарисовать крылья бабочки.
Открываем любой графический редактор и рисуем нечто похожее на это:

По сути нам нужна только одна половинка крыла.

А в общем текстурном атласе, который я использую для других элементов эффектов этого персонажа это будет выглядеть вот так:

Направляющими в фотошопе очень удобно кадрировать элементы и располагать их правильно, без сдвигов за границы своего кадра.

Сразу определимся какой по счёту кадр будет попадать на эти крылья. Здесь я рассчитал сетку 8х8 кадров для этого атласа и 33й кадр для крыльев.
Для каждого текстурного элемента в настройках системы частиц задаются свои уникальные параметры кол-ва кадров и нужного кадра для использования. Выглядит это так:

Следующий шаг - создание материала. В данном случае используем обычный блендовый шейдер из арсенала Юнити.

В слот текстуры помещаем нашу текстуру с половинкой крыла или же полностью атлас.

Материал готов. Назначаем его в слот Material в свитке Renderer и выставляем указанные настройки:

Офсет 0.5 по Y призван сдвинуть pivot билборда, чтобы точка вращения крыла была в нужном месте.

Далее делаем следующие настройки системы частиц:

И еще настроим другие параметры:

Настройка одной половинки завершена. Должно получится примерно вот такое:

Теперь нам нужно лишь скопировать настроенную систему частиц (Ctrl+D), Создать из них иерархию, перетащим одну в другую:

Теперь остаётся лишь развернуть изначальную ориентацию второго крыла, чтобы это стало похоже на бабочку с двумя крыльями. Для этого нужно вместо -90 градусов по Х выставить во второй системе частиц 90 градусов по Х.

И самое важное! Сняв в обоих системах галочку Auto Random Seed и выставив одинаковое значение в обоих системах (в нашем случае 10), мы заставляем частицы обоих систем полностью повторять все события другой. Таким образом крылья одной бабочки не летят в разные стороны, а машут синхронно, перемещаются в пространстве, появляются и пропадают тоже синхронно.

Если захотите добавив бабочек другого цвета, то сделайте еще такую же "спаренную" конструкцию из партикл систем с другим цветом.
Скорость взмаха крыльями регулируется параметром вращения по Х:

1500 в данном случае. Параметр больше - скорость выше. Вращение по Y и Z призвано добавить бабочкам небольшой разворот в пространстве, чтобы они не выглядели всегда в одинаковом положении.

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

Спасибо за внимание и удачи с эффектами :)

0
29 комментариев
Написать комментарий...
Иван Чернов
эффект бабочки

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

Ответить
Развернуть ветку
Ангельская пыль

Процедурный BioShock Infinite который мы заслужили.

Ответить
Развернуть ветку
Иван Чернов

генерация уровня через партикл-систему??
Мсье знает толк.

Ответить
Развернуть ветку
Ангельская пыль

Ну там город весьма динамичный.

Ответить
Развернуть ветку
DONKEYHOT

Неплохо, но почему дед синий?

Ответить
Развернуть ветку
Den M

Бабочек на мух поменять и картина сложится

Ответить
Развернуть ветку
Евгений Серегин
Автор

Много колдовал... или колдырил...

Ответить
Развернуть ветку
Климентий Мышкин

ночной эльф, не?!

Ответить
Развернуть ветку
DONKEYHOT

Да не. Я эльфов видел - он на них не похож. Кажется будто простого старикашку покрасили в синий цвет.

Ответить
Развернуть ветку
Kotsyubak

Он синий или просто пьяный? 

Ответить
Развернуть ветку
DONKEYHOT

Не могу знать - не я создатель.

Ответить
Развернуть ветку
Теплый спрей

Блин, а чего у тебя аватарка зелёная?

Ответить
Развернуть ветку
DONKEYHOT

Слушай, ну мне такую DTF дал. Я её сам не мастерил и не выбирал.

Ответить
Развернуть ветку
Теплый спрей

Ты мог её поменять, но не сделал этого. Значит тебе окей с ней.

Блин, а почему тебе окей с зелёной аватаркой?

Ответить
Развернуть ветку
DONKEYHOT

Я к ней отношусь нейтрально, как к данности. Не я её выбрал, а она меня.
Кстати, не знал что можно её менять.

Ответить
Развернуть ветку
John's Games

Звучит интересно, но насколько валидно создавать две отдельные системы частиц? Есть вроде варианты с вертексными шейдерами, на дтф была статья про таких птиц.

Ответить
Развернуть ветку
Евгений Серегин
Автор

Это вариант для тех, кто без шейдеров делает. Вариант на дефолтных инструментах из коробки, так сказать. Так то можно каким угодно способом сделать :).
Для современных мобильных девайсов, даже самых слабых уже давно нет никакой разницы 1 или 2 или 10 систем. Про мощные мобилки или ПК вообще молчу.

Ответить
Развернуть ветку
Kebeta Jazz

Эхма, неделю бы назад этот пост, когда я ещё в шейдеры не упоролся. Спасибо

Ответить
Развернуть ветку
Никита Лукьянов

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

Ответить
Развернуть ветку
Kebeta Jazz

Понятно, что оно так правильнее. Просто у меня рыльце одно и на разработку, и на модельки, и на музыку. Предпочёл бы срезать углы где можно, а не изобретать велосипеды. Ну хоть опыт с шейдерами получил

Ответить
Развернуть ветку
Никита Лукьянов

Имхо, шейдеры это неразрывная часть, как и текстурирование моделек. Без них, наверное, не сделать нормальной игры. Ну а так я тоже в соло, сильно спасает шейдер граф - у меня в нём большая часть шейдеров сделаны, руками писал только специфичные вещи вроде отрисовки неба.

Ответить
Развернуть ветку
Geb User

Всегда было интересно с шейдерами поработать, но не умею:(

Ответить
Развернуть ветку
Необыкновенный теркин30см

Охеренно, спасибо!

Ответить
Развернуть ветку
Евгений Серегин
Автор

На здоровье )

Ответить
Развернуть ветку
Михаил Спицын

Здравствуй Dragons Champions )
Интересно,  какие ещё улучшения персонажей грядут

Ответить
Развернуть ветку
Евгений Серегин
Автор

Хз. Я чисто по эффектам там. За ГД не отвечаю ). Ща вроде всех персов на новый PBR шейдер перекрасили, чтобы появились блестение и металнес.

Ответить
Развернуть ветку
Михаил Спицын

В целом хорошие улучшения, учитывая что было и что стало.
Эффекты очень хорошо смотрятся.
Хотя мне такая стилистика персонажей не нравится.
Статья интересная и полезная.

Ответить
Развернуть ветку
Geb User

Ощущение что бабочки машут крыльями есть, но приглядевшись видно, что они крутятся)) 
А так здорово и в целом полезно

Ответить
Развернуть ветку
Nikola Yavir

high!

Ответить
Развернуть ветку
Читать все 29 комментариев
null