Эффекты частиц используются для визуального обогащения игр. С их помощью можно создавать взрывы, брызги крови, следы, погодные условия или любые другие эффекты.
Эффекты частиц состоят из нескольких эмиттеров и, опционально, модификаторов:
Выберите New... ▸ Particle FX из контекстного меню в браузере Assets. Присвойте имя новому файлу эффекта частиц. Редактор откроет файл в Scene Editor.
Представление Outline отобразит эмиттер по умолчанию. Выделите эмиттер, чтобы отобразить его свойства в панели Properties ниже.
Чтобы добавить новый эмиттер к эффекту, кликните ПКМ в корне компонента в Outline и выберите Add Emitter ▸ [type] из контекстного меню. Следует отметить, что тип эмиттера можно изменить в его свойствах.
Чтобы добавить новый модификатор, кликните ПКМ в расположении модификатора в Outline (корень компонента или конкретный излучатель) и выберите Add Modifier, затем выберите тип модификатора.
Модификатор в корне эффекта (не дочерний по отношению к эмиттеру), влияет на все частицы в этом эффекте.
Модификатор, добавленный к эмиттеру в качестве дочернего, влияет только на этот эмиттер.
При редактировании эмиттера или модификатора результат сразу же виден в редакторе, даже если эффект приостановлен:
Once
— останавливает эмиттер по истечении его длительности.Loop
— перезапускает эмиттер по истечении его длительности.Auto
— сохраняет размер каждого кадра мултикадровой анимации в соответствии с исходным изображением.Manual
— устанавливает размер частиц в соответствии со свойством размера.World
— перемещает частицы независимо от эмиттера.Emitter
— перемещает частицы относительно эмиттера.Alpha
, Add
и Multiply
.Circle
— испускает частицы из случайного места внутри окружности. Частицы направлены наружу от центра. Диаметр окружности определяется свойством Emitter Size X.
2D Cone
— испускает частицы из случайного места внутри плоского конуса (треугольника). Частицы направлены из вершины конуса. Свойство Emitter Size X определяет ширину вершины, Y — высоту.
Box
— испускает частицы из случайного места внутри бокса. Частицы направлены вверх вдоль локальной оси Y бокса. Свойства Emitter Size X, Y и Z определяют ширину, высоту и глубину соответственно. Для 2D прямоугольника размер Z должен быть равен нулю.
Sphere
— испускает частицы из случайного места внутри сферы. Частицы направлены наружу от центра. Диаметр сферы определяется свойством Emitter Size X.
Cone
— испускает частицы из случайного места внутри трехмерного конуса. Частицы направляются наружу через верхний диск конуса. Свойство Emitter Size X определяет диаметр верхнего диска, Y — высоту конуса.
Default
— sets the orientation to unit orientationInitial Direction
— сохраняет начальную ориентацию испускаемых частиц.Movement Direction
— корректирует ориентацию частиц в зависимости от их скорости.World
. Скорость эмиттера рассчитывается каждый кадр.Свойство Blend Mode определяет, как графика компонента должна смешиваться с графикой, расположенной позади. Ниже представлены доступные режимы наложения и способы их вычисления:
src.a * src.rgb + (1 - src.a) * dst.rgb
src.rgb + dst.rgb
src.rgb * dst.rgb
Эти свойства имеют два поля: значение и разброс. Разброс — это вариация, которая применяется случайным образом для каждой порожденной частицы. Например, если значение равно 50, а разброс равен 3, каждая порожденная частица получит значение между 47 и 53 (50 +/- 3).
Если активировать ключ-кнопку, значение свойства будет контролироваться посредством кривой в течение длительности действия эмиттера. Чтобы сбросить запрограммированное свойство, кликните ключ-кнопку снова.
Редактор Curve Editor (доступен среди вкладок в нижнем представлении) используется для изменения кривой. Запрограммированные свойства нельзя редактировать в представлении Properties, только в Curve Editor. Кликните и перетащите поинты и тангенты для изменения формы кривой. Двойным кликом на кривой добавляйте управляющие поинты. Чтобы удалить управляющий поинт, сделайте двойной клик по нему.
Чтобы автоматически масштабировать Curve Editor для отображения всех кривых, нажмите F.
Следующие свойства могут быть запрограммированы в течение времени воспроизведения эмиттера:
Automatic
, а в качестве источника изображения используется мултикадровая анимация, это свойство игнорируется.Следующие свойства могут быть запрограммированы в течение времени жизни частиц:
Существует четыре типа модификаторов, которые влияют на скорость частиц:
Acceleration
Drag
Radial
Vortex
Чтобы запустить и остановить эффект частиц из скрипта:
-- запустить эффект частиц в текущем игровом объекте
particlefx.play("#particles")
-- остановить эффект частиц в текущем игровом объекте
particlefx.stop("#particles")
Эффект частиц будет продолжать испускать частицы, даже если игровой объект, к которому принадлежал этот компонент эффекта частиц, будет удален.
За подробностями обращайтесь к справочнику по Particle FX.
Материал эффекта частиц по умолчанию имеет следующие константы, которые можно изменить с помощью particlefx.set_constant()
и восстановить с помощью particlefx.reset_constant()
(за подробностями обращайтесь к руководству по материалам):
tint
vector4
). Для представления оттенка с компонентами x, y, z и w, соответствующими красному, зеленому, синему и альфа оттенкам, используется тип vector4. За примером обращайтесь к справочнику по API.В файле game.project имеются несколько настроек проекта, относящихся к частицам.
Did you spot an error or do you have a suggestion? Please let us know on GitHub!
GITHUB