Particles¶
Inherits: GeometryInstance < VisualInstance < Spatial < Node < Object
3D particle emitter.
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.
Properties¶
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Methods¶
capture_aabb ( ) const |
|
get_draw_pass_mesh ( int pass ) const |
|
void |
restart ( ) |
void |
set_draw_pass_mesh ( int pass, Mesh mesh ) |
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.
Property Descriptions¶
int amount
Default |
|
Setter |
set_amount(value) |
Getter |
get_amount() |
Number of particles to emit.
DrawOrder draw_order
Default |
|
Setter |
set_draw_order(value) |
Getter |
get_draw_order() |
Particle draw order. Uses DrawOrder values.
Mesh draw_pass_1
Setter |
set_draw_pass_mesh(value) |
Getter |
get_draw_pass_mesh() |
Mesh that is drawn for the first draw pass.
Mesh draw_pass_2
Setter |
set_draw_pass_mesh(value) |
Getter |
get_draw_pass_mesh() |
Mesh that is drawn for the second draw pass.
Mesh draw_pass_3
Setter |
set_draw_pass_mesh(value) |
Getter |
get_draw_pass_mesh() |
Mesh that is drawn for the third draw pass.
Mesh draw_pass_4
Setter |
set_draw_pass_mesh(value) |
Getter |
get_draw_pass_mesh() |
Mesh that is drawn for the fourth draw pass.
int draw_passes
Default |
|
Setter |
set_draw_passes(value) |
Getter |
get_draw_passes() |
The number of draw passes when rendering particles.
bool emitting
Default |
|
Setter |
set_emitting(value) |
Getter |
is_emitting() |
If true
, particles are being emitted.
float explosiveness
Default |
|
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.
int fixed_fps
Default |
|
Setter |
set_fixed_fps(value) |
Getter |
get_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.
bool fract_delta
Default |
|
Setter |
set_fractional_delta(value) |
Getter |
get_fractional_delta() |
If true
, results in fractional delta calculation which has a smoother particles display effect.
float lifetime
Default |
|
Setter |
set_lifetime(value) |
Getter |
get_lifetime() |
Amount of time each particle will exist.
bool local_coords
Default |
|
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.
bool one_shot
Default |
|
Setter |
set_one_shot(value) |
Getter |
get_one_shot() |
If true
, only amount
particles will be emitted.
float preprocess
Default |
|
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.
Material process_material
Setter |
set_process_material(value) |
Getter |
get_process_material() |
Material for processing particles. Can be a ParticlesMaterial or a ShaderMaterial.
float randomness
Default |
|
Setter |
set_randomness_ratio(value) |
Getter |
get_randomness_ratio() |
Emission randomness ratio.
float speed_scale
Default |
|
Setter |
set_speed_scale(value) |
Getter |
get_speed_scale() |
Speed scaling ratio. A value of 0
can be used to pause the particles.
AABB visibility_aabb
Default |
|
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.
Note: If the ParticlesMaterial in use is configured to cast shadows, you may want to enlarge this AABB to ensure the shadow is updated when particles are off-screen.
Method Descriptions¶
AABB capture_aabb ( ) const
Returns the axis-aligned bounding box that contains all the particles that are active in the current frame.
Returns the Mesh that is drawn at index pass
.
void restart ( )
Restarts the particle emission, clearing existing particles.
Sets the Mesh that is drawn at index pass
.