Компьютерная графика → Система частиц или как сделать крутые эффекты

Привет друзья! В этой статье мы поговорим о таких вещах как:

 -Что такое Particle System в Unity

 -Текстуры и материалы для эффектов

 -Создаем свой эффект

 -Где достать бесплатные текстурки

 -И немного советов новичкам :)

Немного теории:

Particle System или Система Частиц – это огромный генератор маленьких изображений, которым можно давать траекторию, скорость, настраивать физику или колоритность частиц.

Использовать систему частиц можно для чего угодно! Мы можем сделать огонь или лед, ветер и ураган, все зависит от вашей фантазии и мастерства.

Чтобы создать дефолтный эффект нужно в сцене выбрать: create=>Effects=>Particle System.

 

Компонент Particle System имеет множество настроек и для удобства, инспектор упорядочивает их в сворачиваемые секции или “модули” описываемые ниже. Каждая секция может быть развёрнута и свёрнута при нажатии на заголовок. С левой стороны расположены чекбоксы, которые можно отмечать для включения или отключения тех или иных настроек.Но об этом позже.

Вуаля! В сцене появился Particle System с которым вы можете работать. Сегодня мы попробуем сделать огонь. Но для начала нужно подготовить текстуры и материалы.

Текстуры и материалы

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

Можно поискать в интернете или рисовать самим, используя фотошоп, например.

Эту текстуру я нашел очень давно в одном из бесплатных паков эффектов из Assets Store, в Unity (ctrl+9). Итак, с текстурой разобрались, теперь нам нужно каким-то образом сделать материал для эффекта. Приступим: в любой папке своего проекта кликаем правой кнопкой мыши затем: create=>material.

Создался пустой материал что с ним делать дальше?! Для начала назовем его Fire, мы же будем делать огонь). Затем нажмем на материал и перейдем во вкладку inspector. В поле меню Shader, у вас сейчас стоит Standard, давайте изменим давайте изменим. Кликаем на это поле затем выбираем: Legacy Shaders=>Particles=>Additive.

Как вы могли заметить для эффектов есть несколько видов шейдеров. Я расскажу вам про 2: Additive и Alpha Blended. На просторах интернета вы можете найти много текстур и они будет разными. Если вы выбираете текстуру с прозрачным фоном, то советую вам выбирать шейдер Alpha Blended. Он не будет искажать цветовую гамму вашей текстуры. А если вы, как и я используете текстуру с черным фоном, то вы должны использовать шейдер Additive. Он не учитывает черный цвет в принципе. Для этого шейдера черный цвет это степень прозрачности, поэтому некоторые текстуры могут показаться светлее и прозрачнее чем есть на самом деле.

И так , материал создан, шейдер выбран осталось совсем немного, нужно указать текстуру. Справа в появившемся маленьком окошке выбираем select и в списке выбираем нужную нам текстуру, ну или просто перетаскиваем ее в это окно.

И так! У нас практически все готово. Переходим в сцену, тыкеам на наш эффект, спускаемся в низ во вкладку Renderer, чуть ниже есть меню Material => выбираем наш материал)

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

 

Самая первая вкладка – одна из самых важных, приступим:

Duration – это продолжительность эффекта. Оставляем стандартное значение.

Looping – ставим галочку если ее не было. Благодаря этой функции эффект будет продолжаться до тех пор, пока его не отключат в ручную. Если убрать галочку то продолжительно эффекта будет зависеть от Duration.

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

Start Delay – задержка начала эффекта.

Start Lifetime – время жизни каждой частицы. Напротив каждого меню есть черный треугольник, при нажатии на него  можно выбрать какой тип значения мы выберем. Нажимаем и выбираем Random between two constant. Теперь  у нас два поля для ввода. Ставим 1 и 3. Теперь время жизни каждой частицы варьирует от 1f до 3f.

Start speed – скорость частиц, ставим 2 поля и вводим 1 и 4.

Start size – как не трудно догадаться это начальный размер частицы. Ставим от 0.1 до 3.

Start rotation – начальный поворот изображения. От 0 до 359. Почему не до 360 – потому что 0 это и есть 360)

Start color – цвет нашего эффекта пока его не трогаем.

Simulation speed – модификатор скорости нашего эффекта, ставим 2.

Play on awake – будет ли эффект срабатывать сразу после того как он станет активным.

Остальное пока трогать не будем) переходим дальше

 

Во вкладке Emission нас интересует только 1 поле Rate over Time – это кол-во частичек генерируемых в определенный отрезок времени. Ставим 50

 

Вкладка Shape

Shape- форма траектории нашего эффекта выбираем конус.

Angle – верхний радиус.

Radius – нижний радиус.

 

 

Color over lifetime

В этой вкладке всего 1 поле- поле с цветом.

Этот параметр отвечает за то как эффект будет менять цвет в течении своей жизни.

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

 

Вкладка Size over lifetime . Это график изменения размера в течении жизни эффекта

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

 

Rotation over lifetime

Как не сложно догадаться эта вкладка отвечает за вращение в течении жизни эффекта. Одно поле для ввода меняем на 2 и ставим диапазон он 90 до -90

 

Вкладка Noise

 

Это так называемый шум в поведении частиц. Нас интересует только поле Strength, оно отвечает за силу разброса траектории частиц.

 

Самая последняя вкладка Renderer, с ней мы уже работали выше.

Эта вкладка тоже очень важная. Отвечает за отображение частиц и их порядок в слое. В самом низу есть 2 поля Sorting layer – выбор слоя в котором будет находится Эффект и Order in layer – порядок в этом слое.

Если вы все сделали правильно, то у вас должен получится вот такой примитивный огонь)))

 

Где достать бесплатно???

Все бесплатные текстуры можно найти как я говорил в интернете или отрисовать самому . Но у меня есть один очень интересный сайт где я частенько нахожу прикольные текстуры :

www.freepik.com

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

Их можно найти на Assets Store.

На англоязычном YouTube очень много обучалок, где люди делятся текстурками)

 

Советы новичкам

1 и самый важный совет – не удаляйте текстуры!!! НИКОГДА. В любой момент, даже самая странная и не понятная текстура может подойти вам как нельзя лучше.

Используйте текстуры с прозрачным фоном.

Если вы рисуете текстуры сами, не задавайте им цвет. Пусть текстура будет белой, в редакторе вы всегда сможете поменять ей цвет)

По возможности находит эффекты профессионалов и разбирайте их а потом пытайтесь повторить именно так вы сможете научиться делать реально крутые штуки)

 

 

 

1595 0
Кривцов Артем