Particles

Inherits: GeometryInstance < VisualInstance < Spatial < Node < Object

Category: Core

Brief Description

3D particle emitter.

Methods

AABB capture_aabb ( ) const
void restart ( )

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.
  • DRAW_ORDER_VIEW_DEPTH = 2 — Particles are drawn in order of depth.

Constants

  • MAX_DRAW_PASSES = 4 — Maximum number of draw passes supported.

Description

3D particle node used to create a variety of particle systems and effects. Particles 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.

Property Descriptions

Setter set_amount(value)
Getter get_amount()

Number of particles to emit.

Setter set_draw_order(value)
Getter get_draw_order()

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

Setter set_draw_pass_mesh(value)
Getter get_draw_pass_mesh()

Mesh that is drawn for the first draw pass.

Setter set_draw_pass_mesh(value)
Getter get_draw_pass_mesh()

Mesh that is drawn for the second draw pass.

Setter set_draw_pass_mesh(value)
Getter get_draw_pass_mesh()

Mesh that is drawn for the third draw pass.

Setter set_draw_pass_mesh(value)
Getter get_draw_pass_mesh()

Mesh that is drawn for the fourth draw pass.

  • int draw_passes
Setter set_draw_passes(value)
Getter get_draw_passes()

The number of draw passes when rendering particles.

Setter set_emitting(value)
Getter is_emitting()

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

Setter set_explosiveness_ratio(value)
Getter get_explosiveness_ratio()

Time ratio between each emission. If 0 particles are emitted continuously. If 1 all particles are emitted simultaneously. Default value: 0.

  • int fixed_fps
Setter set_fixed_fps(value)
Getter get_fixed_fps()
Setter set_fractional_delta(value)
Getter get_fractional_delta()
Setter set_lifetime(value)
Getter get_lifetime()

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

Setter set_use_local_coordinates(value)
Getter get_use_local_coordinates()

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

Setter set_one_shot(value)
Getter get_one_shot()

If true only amount particles will be emitted. Default value: false.

Setter set_pre_process_time(value)
Getter get_pre_process_time()

Amount of time to preprocess the particles before animation starts. Lets you start the animation some time after particles have started emitting.

Setter set_process_material(value)
Getter get_process_material()

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

Setter set_randomness_ratio(value)
Getter get_randomness_ratio()

Emission randomness ratio. Default value: 0.

Setter set_speed_scale(value)
Getter get_speed_scale()

Speed scaling ratio. Default value: 1. A value of 0 can be used to pause the particles.

  • AABB visibility_aabb
Setter set_visibility_aabb(value)
Getter get_visibility_aabb()

The AABB that determines the area of the world part of which needs to be visible on screen for the particle system to be active.

Method Descriptions

  • AABB capture_aabb ( ) const
  • void restart ( )

Restarts the particle emmission, clearing existing particles.