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

각도

Determines the initial angle of the particle (in degrees). This parameter is mostly useful randomized.

../../_images/paranim11.gif

Velocity

방향

This is the base direction at which particles emit. The default is Vector3(1, 0, 0) which makes particles emit to the right. However, with the default gravity settings, particles will go straight down.

../../_images/direction1.png

For this property to be noticeable, you need an initial velocity greater than 0. Here, we set the initial velocity to 40. You'll notice that particles emit toward the right, then go down because of gravity.

../../_images/direction2.png

스프레드

This parameter is the angle in degrees which will be randomly added in either direction to the base Direction. A spread of 180 will emit in all directions (+/- 180). For spread to do anything the "Initial Velocity" parameter must be greater than 0.

../../_images/paranim3.gif

평면성

This property is only useful for 3D particles.

초기 속도

Initial velocity is the speed at which particles will be emitted (in pixels/sec). Speed might later be modified by gravity or other accelerations (as described further below).

../../_images/paranim4.gif

Animated Velocity

각속도

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

../../_images/paranim5.gif

공전 속도

공전 속도는 입자들이 중심을 돌게 만드는 데 사용됩니다.

../../_images/paranim6.gif

Accelerations

중력

The gravity applied to every particle.

../../_images/paranim7.gif

선형 가속도(Linear Acceleration)

각 입자에 적용되는 선형 가속도.

지름 가속도(Radial Acceleration)

If this acceleration is positive, particles are accelerated away from the center. If negative, they are absorbed towards it.

../../_images/paranim8.gif

접선가속도(Tangential Acceleration)

This acceleration will use the tangent vector to the center. Combining with radial acceleration can do nice effects.

../../_images/paranim9.gif

댐핑

Damping은 입자에 마찰을 일으켜 멈추게 합니다. 특히 불꽃이나 폭발에 유용하며 보통 높은 선형 속도로 시작하다가 점차 사라지면서 멈춘다.

../../_images/paranim10.gif

Display

크기

Determines the initial scale of the particles.

../../_images/paranim12.gif

Color Curves

색상

방출되는 입자 색깔을 바꾸는 데 사용됩니다.

Hue Variation

The Variation value sets the initial hue variation applied to each particle. The Variation Random value controls the hue variation randomness ratio.

애니메이션

참고

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).

방출 모양(Emission Shapes)

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

몇 가지 설정이 있는 대화 상자가 나타납니다.

방출 마스크

텍스처로 생성될 수 있는 에미션 마스크는 세 가지 유형이 있습니다:

  • Solid Pixels: 텍스처의 투명한 부분을 제외한 모든 영역에서 입자가 생겨납니다.

../../_images/emission_mask_solid.gif
  • Border Pixels: 텍스처의 바깥쪽 가장자리에 입자가 생겨납니다.

../../_images/emission_mask_border.gif
  • Directed Border Pixels: Border Pixels와 유사하지만 마스크에 추가 정보를 추가하여 입자들이 경계에서 멀리 방출할 수 있는 능력을 부여한다. 이를 활용하려면 ``초기 속도``를 설정해야 합니다.

../../_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``에 직접 이미지를 추가해서는 안됩니다. 그 대신에 "에미션 마스크 불러오기" 메뉴를 통해서 사용되어야 합니다.