Particles2D

Inherits: Node2D < CanvasItem < Node < Object

Category: Core

Brief Description

2D particle emitter.

Properties

intamount
DrawOrderdraw_order
boolemitting
floatexplosiveness
intfixed_fps
boolfract_delta
floatlifetime
boollocal_coords
Texturenormal_map
boolone_shot
floatpreprocess
Materialprocess_material
floatrandomness
floatspeed_scale
Texturetexture
Rect2visibility_rect

Methods

Rect2capture_rect ( ) const
voidrestart ( )

Enumerations

enum DrawOrder:

  • DRAW_ORDER_INDEX = 0 — Particles are drawn in the order emitted.
  • DRAW_ORDER_LIFETIME = 1 — Particles are drawn in order of remaining lifetime.

Description

2D particle node used to create a variety of particle systems and effects. Particles2D features an emitter that generates some number of particles at a given rate.

Use the process_material property to add a ParticlesMaterial to configure particle appearance and behavior. Alternatively, you can add a ShaderMaterial which will be applied to all particles.

Tutorials

Property Descriptions

Setterset_amount(value)
Getterget_amount()

Number of particles emitted in one emission cycle.


Setterset_draw_order(value)
Getterget_draw_order()

Particle draw order. Uses DRAW_ORDER_* values. Default value: DRAW_ORDER_INDEX.


Setterset_emitting(value)
Getteris_emitting()

If true, particles are being emitted. Default value: true.


Setterset_explosiveness_ratio(value)
Getterget_explosiveness_ratio()

How rapidly particles in an emission cycle are emitted. If greater than 0, there will be a gap in emissions before the next cycle begins. Default value: 0.


Setterset_fixed_fps(value)
Getterget_fixed_fps()

The particle system’s frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the simulation of the particle system itself.


Setterset_fractional_delta(value)
Getterget_fractional_delta()

If true, results in fractional delta calculation which has a smoother particles display effect. Default value: true


Setterset_lifetime(value)
Getterget_lifetime()

Amount of time each particle will exist. Default value: 1.


Setterset_use_local_coordinates(value)
Getterget_use_local_coordinates()

If true, particles use the parent node’s coordinate space. If false, they use global coordinates. Default value: true.


Setterset_normal_map(value)
Getterget_normal_map()

Normal map to be used for the texture property.


Setterset_one_shot(value)
Getterget_one_shot()

If true, only one emission cycle occurs. If set true during a cycle, emission will stop at the cycle’s end. Default value: false.


Setterset_pre_process_time(value)
Getterget_pre_process_time()

Particle system starts as if it had already run for this many seconds.


Setterset_process_material(value)
Getterget_process_material()

Material for processing particles. Can be a ParticlesMaterial or a ShaderMaterial.


Setterset_randomness_ratio(value)
Getterget_randomness_ratio()

Emission lifetime randomness ratio. Default value: 0.


Setterset_speed_scale(value)
Getterget_speed_scale()

Particle system’s running speed scaling ratio. Default value: 1. A value of 0 can be used to pause the particles.


Setterset_texture(value)
Getterget_texture()

Particle texture. If null particles will be squares.


Setterset_visibility_rect(value)
Getterget_visibility_rect()

Editor visibility helper.

Method Descriptions

  • Rect2 capture_rect ( ) const

Returns a rectangle containing the positions of all existing particles.


  • void restart ( )

Restarts all the existing particles.