Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

ParticleProcessMaterial 2D Usage

Process material properties

ParticleProcessMaterial properties

Min, max, and curve properties

The properties in this material control how particles behave and change over their lifetime. A lot of them have Min, Max, and Curve values that allow you to fine-tune their behavior. The relationship between these values is this: When a particle is spawned, the property is set with a random value between Min and Max. If Min and Max are the same, the value will always be the same for every particle. If the Curve is also set, the value of the property will be multiplied by the value of the curve at the current point in a particle's lifetime. Use the curve to change a property over the particle lifetime. Very complex behavior can be expressed this way.

Примечание

This page covers how to use ParticleProcessMaterial for 2D scenes specifically. For information on how to use it in a 3D scene see Process material properties.

Lifetime Randomness

The Lifetime Randomness property controls how much randomness to apply to each particle's lifetime. A value of 0 means there is no randomness at all and all particles live for the same amount of time, set by the Lifetime property. A value of 1 means that a particle's lifetime is completely random within the range of [0.0, Lifetime].

Particle Flags

Spawn

Угол

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

../../_images/paranim11.gif

Velocity

Направление

Это основное направление, в котором испускаются частицы. По умолчанию это Vector3 (1, 0, 0), что заставляет частицы излучаться вправо. Однако с настройками силы тяжести по умолчанию частицы будут идти прямо вниз.

../../_images/direction1.png

Чтобы это свойство было заметным, вам нужна начальная скорость больше 0. Здесь мы установили начальную скорость равной 40. Вы заметите, что частицы испускаются вправо, а затем падают вниз из-за силы тяжести.

../../_images/direction2.png

Разброс

Этот параметр - угол в градусах, который будет случайным образом добавлен к основному направлению Direction. Разброс 180 приведет к излучению во всех направлениях (+/- 180). Для того, чтобы активировался разброс частиц, параметр Initial Velocity должен быть больше 0.

../../_images/paranim3.gif

Плоскостность

Это свойство полезно только для 3D-частиц.

Начальная скорость

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

../../_images/paranim4.gif

Animated Velocity

Угловая скорость

Angular velocity is the speed at which particles rotate around their center (in degrees/sec).

../../_images/paranim5.gif

Орбитальная скорость

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

../../_images/paranim6.gif

Accelerations

Гравитация

Гравитация применяется к каждой частице.

../../_images/paranim7.gif

Линейное Ускорение

Линейное ускорение применяется к каждой частице.

Радиальное (Нормальное) Ускорение

Если это ускорение положительное, частицы ускоряются от центра. Если отрицательное, они поглощаются им.

../../_images/paranim8.gif

Касательное Ускорение

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

../../_images/paranim9.gif

Амортизация

Демпфирование приводит к трению частиц, заставляя их останавливаться. Это особенно полезно для искр или взрывов, которые обычно начинаются с высокой линейной скорости и затем прекращаются по мере исчезновения.

../../_images/paranim10.gif

Display

Масштаб

Определяет начальный размер частиц.

../../_images/paranim12.gif

Color Curves

Цвет

Используется для изменения цвета испускаемых частиц.

Hue Variation

Значение Variation устанавливает начальное изменение оттенка, применяемое к каждой частице. Значение Variation Random контролирует коэффициент случайности изменения оттенка.

Анимация

Примечание

Particle flipbook animation is only effective if the CanvasItemMaterial used on the GPUParticles2D or CPUParticles2D node has been configured accordingly.

To set up the particle flipbook for linear playback, set the Speed Min and Speed Max values to 1:

Setting up particle animation for playback during the particle's lifetime

Setting up particle animation for playback during the particle's lifetime

By default, looping is disabled. If the particle is done playing before its lifetime ends, the particle will keep using the flipbook's last frame (which may be fully transparent depending on how the flipbook texture is designed). If looping is enabled, the animation will loop back to the first frame and resume playing.

Depending on how many images your sprite sheet contains and for how long your particle is alive, the animation might not look smooth. The relationship between particle lifetime, animation speed, and number of images in the sprite sheet is this:

Примечание

At an animation speed of 1.0, the animation will reach the last image in the sequence just as the particle's lifetime ends.

\[Animation\ FPS = \frac{Number\ of\ images}{Lifetime}\]

If you wish the particle flipbook to be used as a source of random particle textures for every particle, keep the speed values at 0 and set Offset Max to 1 instead:

Setting up particle animation for random offset on emission

Setting up particle animation for random offset on emission

Note that the GPUParticles2D node's Fixed FPS also affects animation playback. For smooth animation playback, it's recommended to set it to 0 so that the particle is simulated on every rendered frame. If this is not an option for your use case, set Fixed FPS to be equal to the effective framerate used by the flipbook animation (see above for the formula).

Формы излучения

ParticleProcessMaterials allow you to set an Emission Mask, which dictates the area and direction in which particles are emitted. These can be generated from textures in your project.

Ensure that a ParticleProcessMaterial is set, and the GPUParticles2D node is selected. A "Particles" menu should appear in the Toolbar:

../../_images/emission_shapes1.webp

Откройте его и выберите "Загрузить маску излучения":

../../_images/emission_shapes2.webp

Затем выберите, какую текстуру вы хотите использовать в качестве маски:

../../_images/emission_shapes3.webp

Появится диалоговое окно с несколькими настройками.

Маска излучения

Из текстуры могут быть сгенерированы три типа масок излучения:

  • Залитые пиксели: Частицы будут появляться из любой области текстуры, за исключением прозрачных областей.

../../_images/emission_mask_solid.gif
  • Граничные пиксели: Частицы будут появляться на внешних краях текстуры.

../../_images/emission_mask_border.gif
  • Направленные пограничные пиксели: похожи на пограничные пиксели, но добавляют дополнительную информацию к маске, чтобы дать частицам возможность испускаться вдали от границ. Обратите внимание, что для того, чтобы использовать это, необходимо установить Initial Velocity.

../../_images/emission_mask_directed_border.gif

Цвета излучения

Из пикселя заставит частицы унаследовать цвет маски в своих точках появления.

Once you click "OK", the mask will be generated and set to the ParticleProcessMaterial, under Spawn and then Position

../../_images/emission_shapes4.webp

Все значения в этом разделе были автоматически сгенерированы меню «Загрузить маску излучения», поэтому их, как правило, следует оставить в покое.

Примечание

Изображение не следует добавлять напрямую в Point Texture или Color Texture. Вместо этого всегда следует использовать меню «Загрузить маску излучения».