Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Все Гайды Мой Кабинет

Основы создания партиклов в Unity

Приветствую начинающих разработчиков. В данной статье мы научимся создавать партиклы, а так же рассмотрим самые основные и частоиспользуемые настройки для работы с ними. Ещё мы научимся взаимодействовать с партиклами при помощи C# скриптов. Долго затягивать не будем, и перейдём сразу к делу.

Первым делом создадим объект партикла. Для этого с помощью окна Hierarchy кликаем ПКМ - Effects - Particle System, после чего будет создан объект с именем Particle System. А на игровой сцене появятся бесконечно создаваемые частицы.

Если мы кликнем на объект Particle System, то в окне Inspector, в компоненте Particle System можно заметить огромное количество настроек, благодаря которым мы сможем делать с партиклами практически всё что угодно.

Как Вы могли заметить, здесь имеется 24 основных настроек, и 23 дополнительных разделов с в внутренними настройками. Все эти настройки мы разбирать не будем, а разберём примерно половину из них, которые используются чаще всего.

Основные настройки

Основные настройки самые простые, поэтому пройдём по ним очень кратко:

  • Duration - продолжительность создания партиклов.
  • Looping - будут ли партиклы зациклены, то-есть воспроизводится бесконечно.
  • Start Delay - Задержка перед началом воспроизведением частиц.
  • Start Lifetime - Время жизни каждой частички
  • Start Speed - Скорость полёта частичек
  • 3D Start Size и Start Size отвечают за размер частиц.
  • Start Rotation и Flip Rotatuon отвечают за поворот и вращение частиц.
  • Start Color - указывает цвет частиц.
  • Gravity Modifier - указывает силу, с которой гравитация будет действовать на частицы.
  • Simulation Space - указывает, относительно чего будут работать частицы: относительно самого объекта партиклов, относительно мирового пространства, или относительно какого-либо другого объекта. Данное поле настраивается в тех случаях, когда сам объект партиклов передвигается по игровой сцене.
  • Play On Awake - будут ли партиклы запускаться сразу при старте игры.
  • Max Particles - максимальное количество партиклов

Так же хочу обратить ваше внимание на то, что напротив полей с числовыми значениями имеются маленькие белые треугольнички. Например, кликнув на треугольничек напротив поля Start Speed, и выбрав Random Between Two Constans, мы можем указать скорость для наших создаваемых частиц в случайном диапозоне, например от 2 до 5 для каждой новой частицы.

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

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

Дополнительные разделы

Как уже говорилось выше, мы рассмотрим только самые частоиспользуемые разделы.

Emission

И начнём мы с настроек Emission, у которой поставлена галочка, то-есть она включена по умолчанию. Данный раздел довольно интересный, он отвечает за интенсивность создаваемых частиц.

  • Rate Over Time - количество частиц, которые равномерно будут создаваться за единицу времени(1 секунда).
  • Rate over Distance - количество создаваемых частиц за единицу пройденного расстояния. То-есть частицы создаются только тогда, когда объект находится в движении. Часто используется при создании частиц от ходьбы персонажа.
  • Bursts - здесь можно настроить резкий всплеск частиц. То-есть, если в двух предыдущих полях частицы создаются равномерно, то здесь частицы создаются дискретно. Довольно часто применяется когда после взрыва необходимо одномоментно создать много частиц, летящие в разные стороны, или при попадании пули в игрока, резко создаётся много частиц в виде крови.

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

Shape

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

Самое главное поле в данном разделе, это поле Shape, которое отвечает за форму, из которой создаются частицы. При изучении форм поля Shape, советую выбрать на игровой сцене режим 3D, поскольку некоторые формы имеют 3D измерение, и в 3D режиме вам будет более легче понять, что это за форма.

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

Velocity over Lifetime

В данном разделе указывается направление движения частиц несколькими способами:

  • Linear - указывает линейное направление движения частиц по любой оси.
  • Orbital - указывает круговое движение по любой оси в виде спирали. Довольно интересное явление.
  • Speed Modifiel - сила движения частиц.

Color over Liftime

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

Раздел Color by Speed работает по такому же принципу, только цвет меняется в зависимости от скорости движения частиц. В отличии от предыдущего раздела, это используется не часто.

Noise

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

Collision

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

Triggers

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

Texture Sheet Animation

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

Lights

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

Renderer

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

Остальные

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

Скрипты

Как уже говорилось выше, мы можем работать с нашими партиклами через скрипт. Например, если ваши партиклы изначально выключены, и нам его необходимо включить через скрипт, то создаём C# скрипт для нашего объекта, и пишем в него следующий код.

using UnityEngine;

public class NewBehaviourScript : MonoBehaviour
{
    public ParticleSystem partSystem;

    private void Start()
    {
        partSystem.Play();
    }
}

В строке #5 мы создаём переменную partSystem для хранения ссылки на наш компонент партиклов. Поэтому не забудьте в окне Inspector в данное поле перетащить объект партиклов.

А в методе Start() мы запускаем работу партиклов. Все свойства и методы для работы с партикламы через скрипт, можно увидеть на странице скриптовой документации ParticleSystem.

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

А на этом всё. Если у вас остались какие-либо вопросы, задавайте их в комментариях. Ну и не забывайте о лайках :)

Вы можете отблагодарить автора донатом. ₽ Спасибо

Комментарии

0
Будьте первым, кто оставит комментарий к этому посту
Гости не могут оставлять комментарии. Войдите на Сайт или Зарегистрируйтесь