2017-09-13 04:42:36 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
2018-02-27 20:40:43 +08:00
<class name= "Particles" inherits= "GeometryInstance" category= "Core" version= "3.1" >
2017-09-13 04:42:36 +08:00
<brief_description >
2017-10-04 03:30:32 +08:00
3D particle emitter.
2017-09-13 04:42:36 +08:00
</brief_description>
<description >
2017-10-04 03:30:32 +08:00
3D particle node used to create a variety of particle systems and effects. [code]Particles[/code] features an emitter that generates some number of particles at a given rate.
Use the [code]process_material[/code] property to add a [ParticlesMaterial] to configure particle appearance and behavior. Alternatively, you can add a [ShaderMaterial] which will be applied to all particles.
2017-09-13 04:42:36 +08:00
</description>
<tutorials >
</tutorials>
<demos >
</demos>
<methods >
<method name= "capture_aabb" qualifiers= "const" >
2017-11-17 10:09:00 +08:00
<return type= "AABB" >
2017-09-13 04:42:36 +08:00
</return>
<description >
</description>
</method>
<method name= "restart" >
<return type= "void" >
</return>
<description >
2018-06-03 09:45:30 +08:00
Restarts the particle emmission, clearing existing particles.
2017-09-13 04:42:36 +08:00
</description>
</method>
</methods>
<members >
2017-09-13 14:49:40 +08:00
<member name= "amount" type= "int" setter= "set_amount" getter= "get_amount" >
2017-10-04 03:30:32 +08:00
Number of particles to emit.
2017-09-13 04:42:36 +08:00
</member>
2017-09-13 14:49:40 +08:00
<member name= "draw_order" type= "int" setter= "set_draw_order" getter= "get_draw_order" enum= "Particles.DrawOrder" >
2017-10-04 03:30:32 +08:00
Particle draw order. Uses [code]DRAW_ORDER_*[/code] values. Default value: [code]DRAW_ORDER_INDEX[/code].
2017-09-13 04:42:36 +08:00
</member>
2017-09-13 14:49:40 +08:00
<member name= "draw_pass_1" type= "Mesh" setter= "set_draw_pass_mesh" getter= "get_draw_pass_mesh" >
2018-06-03 09:45:30 +08:00
[Mesh] that is drawn for the first draw pass.
2017-09-13 04:42:36 +08:00
</member>
2017-09-13 14:49:40 +08:00
<member name= "draw_pass_2" type= "Mesh" setter= "set_draw_pass_mesh" getter= "get_draw_pass_mesh" >
2018-06-03 09:45:30 +08:00
[Mesh] that is drawn for the second draw pass.
2017-09-13 04:42:36 +08:00
</member>
2017-09-13 14:49:40 +08:00
<member name= "draw_pass_3" type= "Mesh" setter= "set_draw_pass_mesh" getter= "get_draw_pass_mesh" >
2018-06-03 09:45:30 +08:00
[Mesh] that is drawn for the third draw pass.
2017-09-13 04:42:36 +08:00
</member>
2017-09-13 14:49:40 +08:00
<member name= "draw_pass_4" type= "Mesh" setter= "set_draw_pass_mesh" getter= "get_draw_pass_mesh" >
2018-06-03 09:45:30 +08:00
[Mesh] that is drawn for the fourth draw pass.
2017-09-13 04:42:36 +08:00
</member>
2017-09-13 14:49:40 +08:00
<member name= "draw_passes" type= "int" setter= "set_draw_passes" getter= "get_draw_passes" >
2018-06-03 09:45:30 +08:00
The number of draw passes when rendering particles.
2017-09-13 04:42:36 +08:00
</member>
2017-09-13 14:49:40 +08:00
<member name= "emitting" type= "bool" setter= "set_emitting" getter= "is_emitting" >
2017-10-04 03:30:32 +08:00
If [code]true[/code] particles are being emitted. Default value: [code]true[/code].
2017-09-13 04:42:36 +08:00
</member>
2017-09-13 14:49:40 +08:00
<member name= "explosiveness" type= "float" setter= "set_explosiveness_ratio" getter= "get_explosiveness_ratio" >
2017-10-04 03:30:32 +08:00
Time ratio between each emission. If [code]0[/code] particles are emitted continuously. If [code]1[/code] all particles are emitted simultaneously. Default value: [code]0[/code].
2017-09-13 04:42:36 +08:00
</member>
2017-09-13 14:49:40 +08:00
<member name= "fixed_fps" type= "int" setter= "set_fixed_fps" getter= "get_fixed_fps" >
2017-09-13 04:42:36 +08:00
</member>
2017-09-13 14:49:40 +08:00
<member name= "fract_delta" type= "bool" setter= "set_fractional_delta" getter= "get_fractional_delta" >
2017-09-13 04:42:36 +08:00
</member>
2017-09-13 14:49:40 +08:00
<member name= "lifetime" type= "float" setter= "set_lifetime" getter= "get_lifetime" >
2017-10-04 03:30:32 +08:00
Amount of time each particle will exist. Default value: [code]1[/code].
2017-09-13 04:42:36 +08:00
</member>
2017-09-13 14:49:40 +08:00
<member name= "local_coords" type= "bool" setter= "set_use_local_coordinates" getter= "get_use_local_coordinates" >
2017-10-04 03:30:32 +08:00
If [code]true[/code] particles use the parent node's coordinate space. If [code]false[/code] they use global coordinates. Default value: [code]true[/code].
2017-09-13 04:42:36 +08:00
</member>
2017-09-13 14:49:40 +08:00
<member name= "one_shot" type= "bool" setter= "set_one_shot" getter= "get_one_shot" >
2017-10-04 03:30:32 +08:00
If [code]true[/code] only [code]amount[/code] particles will be emitted. Default value: [code]false[/code].
2017-09-13 04:42:36 +08:00
</member>
2017-09-13 14:49:40 +08:00
<member name= "preprocess" type= "float" setter= "set_pre_process_time" getter= "get_pre_process_time" >
2018-06-03 09:45:30 +08:00
Amount of time to preprocess the particles before animation starts. Lets you start the animation some time after particles have started emitting.
2017-09-13 04:42:36 +08:00
</member>
2017-09-13 14:49:40 +08:00
<member name= "process_material" type= "Material" setter= "set_process_material" getter= "get_process_material" >
2017-10-04 03:30:32 +08:00
[Material] for processing particles. Can be a [ParticlesMaterial] or a [ShaderMaterial].
2017-09-13 04:42:36 +08:00
</member>
2017-09-13 14:49:40 +08:00
<member name= "randomness" type= "float" setter= "set_randomness_ratio" getter= "get_randomness_ratio" >
2017-10-04 03:30:32 +08:00
Emission randomness ratio. Default value: [code]0[/code].
2017-09-13 04:42:36 +08:00
</member>
2017-09-13 14:49:40 +08:00
<member name= "speed_scale" type= "float" setter= "set_speed_scale" getter= "get_speed_scale" >
2018-08-25 00:10:47 +08:00
Speed scaling ratio. Default value: [code]1[/code]. A value of [code]0[/code] can be used to pause the particles.
2017-09-13 04:42:36 +08:00
</member>
2017-11-17 10:09:00 +08:00
<member name= "visibility_aabb" type= "AABB" setter= "set_visibility_aabb" getter= "get_visibility_aabb" >
2018-06-03 09:45:30 +08:00
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.
2017-09-13 04:42:36 +08:00
</member>
</members>
<constants >
2017-11-25 06:16:30 +08:00
<constant name= "DRAW_ORDER_INDEX" value= "0" enum= "DrawOrder" >
2017-10-04 03:30:32 +08:00
Particles are drawn in the order emitted.
2017-09-13 04:42:36 +08:00
</constant>
2017-11-25 06:16:30 +08:00
<constant name= "DRAW_ORDER_LIFETIME" value= "1" enum= "DrawOrder" >
2017-10-04 03:30:32 +08:00
Particles are drawn in order of remaining lifetime.
2017-09-13 04:42:36 +08:00
</constant>
2017-11-25 06:16:30 +08:00
<constant name= "DRAW_ORDER_VIEW_DEPTH" value= "2" enum= "DrawOrder" >
2017-10-04 03:30:32 +08:00
Particles are drawn in order of depth.
2017-09-13 04:42:36 +08:00
</constant>
2017-11-25 06:16:30 +08:00
<constant name= "MAX_DRAW_PASSES" value= "4" >
2018-06-03 09:45:30 +08:00
Maximum number of draw passes supported.
2017-09-13 04:42:36 +08:00
</constant>
</constants>
</class>