Particles¶
Inherits: GeometryInstance < VisualInstance < Spatial < Node < Object
Category: Core
Brief Description¶
3D particle emitter.
Properties¶
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¶
- int amount
| Setter | set_amount(value) |
| Getter | get_amount() |
Number of particles to emit.
- DrawOrder draw_order
| Setter | set_draw_order(value) |
| Getter | get_draw_order() |
Particle draw order. Uses DRAW_ORDER_* values. Default value: DRAW_ORDER_INDEX.
- 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
| Setter | set_draw_passes(value) |
| Getter | get_draw_passes() |
The number of draw passes when rendering particles.
- bool emitting
| Setter | set_emitting(value) |
| Getter | is_emitting() |
If true, particles are being emitted. Default value: true.
- float explosiveness
| 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() |
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
| Setter | set_fractional_delta(value) |
| Getter | get_fractional_delta() |
If true, results in fractional delta calculation which has a smoother particles display effect. Default value: true.
- float lifetime
| Setter | set_lifetime(value) |
| Getter | get_lifetime() |
Amount of time each particle will exist. Default value: 1.
- bool local_coords
| 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.
- bool one_shot
| Setter | set_one_shot(value) |
| Getter | get_one_shot() |
If true, only amount particles will be emitted. Default value: false.
- float preprocess
| 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
| Setter | set_randomness_ratio(value) |
| Getter | get_randomness_ratio() |
Emission randomness ratio. Default value: 0.
- float speed_scale
| 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.