Ганплей

Во время стрельбы важно не только попадание и то, как работают снаряды, но и ощущение от оружия.

Анимации, звуки, эффекты — все это создает фан от стрельбы и делает использование оружия прикольным!

Ниагара

Niagara System — это система частиц, на которые влияют установленные правила поведения.

Ниагара состоит из модулей-нод, представляющих набор программируемых правил поведения частиц.

Что такое частицы?

Частица — это просто плейн (plane) из одного полигона с картинкой, который всегда направлен в сторону камеры, если не установлено иначе.

Открываем Анрил

Создаем папку, называем VFX. Это не обязательно, но хранить эффекты отдельно удобно.

Теперь создаем Niagara System, выбирая Fontain.

Исходный размер 1920x1010

Sprite Renderer

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

Initialize Particle

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

Mesh Renderer

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

Прервемся на материалы

Потому что в ниагаре они нам тоже понадобятся.

Материалы — это тоже код из нод и в первую очередь математика. Почти все в материалах работает на более или менее простой математике чисел в основном от 0 до 1, но, конечно же, с исключениями.

Какие есть приколы?

  • Картинки (текстуры) и работа с текстурами
  • Создание масок с помощью нод и текстур
  • Разные режимы материала под разные нужды
  • Двигающиеся материалы

Texture Sample

post

Основа основ

В базовой библиотеке есть много текстур, которые можно использовать, например разные Noise.

Add и Multiply

Позволяет накладывать на текстуры цвет и другие текстуры или делать текстуры прозрачнее.

World Position Offset

Материал начинает влиять на геометрию объекта, на который наложен (делает это по развертке) и зависит от полигонажа самой модели.

Режимы материала

post

Blend Mode

Обычно используется Opaque и Masked. Для эффектов, особенно если они прозрачные, используется Additive Translusent используется только для декалей. На остальные не обращайте внимания.

post

Two Sided Material

Иногда бывает полезным, особенно если вы делаете прозрачные материалы или материалы с дырками.

Lerp

С этой нодой вы уже знакомы. Она берет значение между одним и другим значением, но в материалах работает чуть более широко — потому что может работать с картинками и масками.

Мигающий материал

Исходный размер 1198x631

Чтобы подходил для Niagara

В идеале — материал должен быть белым, если вы хотите менять его цвет.

Исходный размер 1179x543

Возвращаемся в Ниагару

Модули Ниагары

Spawn Rate

Спавнит каждую секунду N частиц, пока длится.

Spawn Burst

Спавнит частицы одновременно всего один раз за луп.

Emitter State

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

Add Velocity

Добавляет скорость частицам! Может быть linear, from point и in cone.

Shape Location

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

Initial Mesh Orientation

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

Align Sprite to Mesh Orientation

Этот модуль зависит от предыдущего и без него не будет работать. Он выравнивает частицы в соответствии с настройками предыдущего модуля.

Rotate Around Point

Этот модуль привязывает все частицы к невидимой окружности и с переменной Time в Phase заставляет частицы появляться по кругу.

Практика: делаем взрыв из разлетающихся частиц

Это наш будущий простой эффект выстрела из оружия

Настройте:

  • количество
  • длину и ширину частиц
  • цвет частиц
  • разлетание в разные стороны с какой-то скоростью
  • скорость пропадания
  • выравнивание частиц по скорости

Что пригодится в создании взрыва?

Scale Sprite Size

Позволяет менять размер частиц И привязывать этот размер к времени жизни (делать больше или меньше в течением времени).

Scale Sprite Size by Speed

Позволяет менять размер частиц и привязывать этот размер к скорости, с которой двигается частица.

Scale Color

Позволяет менять цвет частиц и привязывать его к времени, которое частица живет (менять цвет с течением времени).

Scale Color by Speed

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

Wind Force

На частицы начинает воздействовать сила ветра. Обычно заметно на всяких болтающихся в воздухе частицах.

Gravity Force

Гравитация! Причем — с настраиваемой силой.

Curl Noise Force

Позволяет делать завихрения частиц.

Collision

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

Particle State

Позволяет отменить удаление партиклов.

Добавляем взрыву деталей

Усложняем эффект

Теперь используем новые модули, чтобы сделать эффект сложнее:

  • меняем цвет частиц за время жизни
  • меняем размер частиц
  • добавляем другие новые модули

Больше Эмиттеров

Эмиттеров может быть несколько — один эффект может сочетать в себе и искры, и дым, и еще какие-то эффекты.

Spawn From Other Emitter

Более того, из одних частиц можно спавнить другие — при помощи специального модуля.

Ribbon Renderer

Также подходит для спавна из одних частиц можно других.

Как спавнить эффекты

Первый способ

Исходный размер 966x538

Spawn System at Location — создает ниагару в точке, которую вы ей назначите. Лучше взять трансформы shooting point (стрелочка).

Создаем Custom Event, а потом подключаем его в функции Shooting.

Исходный размер 1920x1010

Второй способ (attach)

Исходный размер 1920x1010

Обратите внимание, что тут используется другая нода!

Создаем Custom Event, а потом подключаем его в функции Shooting. Также как и в первом способе.

Почему не видно?

Исходный размер 875x343

Иногда без галочки Local Space ниагара появляется не там где надо.

Кое-что еще про материалы

Материалы можно анимировать в Ниагаре!

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

Создадим простой Dissolve

Исходный размер 1500x656

Подключаем Dynamic Parameter

Исходный размер 1500x763

Меняем в Ниагаре

Исходный размер 1294x677

Практика: делаем круглые края и добавляем движения

Делаем взрыв для попадания

Сейчас у эффекта квадратные края. Надо это исправить.

Вспомните, какая нода позволяет сделать круг в материале. Настройте её.

А еще сделайте материал подвижным!

Опционально: сделать вместо спрайтов сферы!

Об оптимизации

Золотое правило

Чем меньше эмиттеров и частиц, тем меньше ресурсов на ниагару тратит компьютер.

Количество модулей в каждой ниагаре также имеет значение потому что это все = код, который обрабатывает в расчетах движок.

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

GPU и CPU

CPU просчитывает каждую частицу по отдельности, что съедает тем больше ресурсов компьютера, чем больше частиц.

GPU рендерит частицы одной пачкой, все разом, и потребляет заметно меньше ресурсов компьютера, и более того — ему становится почти что все равно, много частиц или мало.

Как сделать классный эффект?

Комбо партиклы + материалы

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

Как научиться делать крутые эффекты

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

Сейчас у вас есть базовые знания, чтобы разобраться в том, что и как они делают, чтобы из их туторов сделать то, что хотите именно вы.

Домашнее задание

Сделать самим, по туториалам или найти готовые эффекты для оружия и подключить для одного из оружий: — эффект выстрела из дула — эффект попадания

И принести показать на следующее занятие!

Niagara System, материалы
Проект создан 07.06.2026
Мы используем файлы cookies для улучшения работы сайта НИУ ВШЭ и большего удобства его использования. Более подробную...
Показать больше