Системы частиц Unity!
Использование
В контексте игры я создал системы частиц для различных вариантов использования. Среди различных вариантов использования систем частиц - эффекты смерти, атаки врагов и игроков, а также оживление мирового пространства. В рамках игры я создал все эти эффекты. Одним из моих любимых эффектов частиц, которые я создал, был простой эффект, в котором капли крови падают с различных веток на дереве в нашей игре, а затем разбрызгиваются, когда достигают точки лужи крови, которая находится на арте окружения. Это действительно интересная демонстрация использования систем частиц, потому что она показывает, что их можно использовать для симуляции движения и анимации одновременно. Хотя это можно было бы сделать с помощью анимации, это потребовало бы работы от нашего единственного художника, так что это помогает снять с них творческую нагрузку. При масштабировании проекта стоит рассмотреть найм удаленной команды разработчиков.
Еще одно применение систем частиц, которое оказывается более выгодным, чем использование исключительно анимации, - это эффект дыма, который я сделал для прикрепления к концу различных атак в игре. Эта система частиц случайным образом выбирает кадры из спрайтового листа, что создает гораздо более разнообразный эффект, чем циклическое использование одной и той же анимации каждый раз, когда она используется.
Реализация
Добавление систем частиц в Unity на самом деле довольно простое. Unity имеет встроенный класс системы частиц, который можно добавить к пустым игровым объектам, а остальная работа заключается в изменении поведения в редакторе для получения нужного эффекта. Такой подход заметно упрощает разработку ПО для игр.
Основные свойства инспектора:
- Продолжительность: Длительность системы частиц, которая отличается от времени жизни. Это важно, особенно если вы хотите, чтобы система частиц зацикливалась. Если длительность больше времени жизни, то перед зацикливанием будет период, когда ничего не происходит.
- Время жизни: Также определяет, как долго длится эффект системы частиц, который фактически диктует, как долго частицы будут двигаться.
- Размер старта: Размер каждой частицы в системе частиц.
- Стартовая скорость: как быстро движутся частицы.
Важно отметить, что каждое из этих и всех остальных неупомянутых свойств инспектора может быть полностью рандомизировано, так что у вас может быть множество систем частиц одного типа с совершенно разными значениями для каждой из них.

Свойства выброса:
- Скорость со временем: Сколько частиц появится за определенное время в секундах.
- Скорость на расстоянии: Определяет, сколько частиц появится при движении системы частиц в мировом пространстве.
- Всплески: Всплески - это основанные на вероятности результаты, которые могут случайным образом выбирать всплеск частиц в течение всего времени действия эффекта.
- Shape (Форма): На этой вкладке инспектора вы можете указать форму, из которой будут испускаться частицы, а также угол, под которым они будут испускаться.
- Субизлучатели: Суб-излучатели используются для указания систем частиц, которые активируются через событие активации от самой системы частиц. В контексте Conquering Ciros я использовал субэмиттер для воспроизведения анимации брызг крови при падении капли крови. Это позволило добиться максимальной точности эффекта, а также настроить время жизни капли, чтобы она могла падать на разную длину перед воспроизведением анимации.
- Коллайдеры: Системы частиц в Unity поддерживают коллайдеры, однако в той версии Unity, которую мы используем, они не обладают функциональностью триггера, которым является большинство снарядов в 2D-играх, подобных нашей. Чтобы обойти это, мне пришлось создать маску слоя, которая взаимодействовала только со слоем игрока для некоторых атак боссов в игре, использующих системы частиц.
Обзор
Когда речь заходит о креативном дизайне для систем частиц, открываются неограниченные возможности. Они поистине являются мечтой технического художника и обладают столь разнообразной функциональностью, а научиться ими пользоваться довольно просто. Я настоятельно рекомендую вам попробовать добавить одну из них в свои игровые проекты, и она обязательно оживит вашу игру! Для качественной разработки ПО выбирайте проверенные решения.


