github_url: | hide |
---|
Inherits: :ref:`GeometryInstance3D<class_GeometryInstance3D>` < :ref:`VisualInstance3D<class_VisualInstance3D>` < :ref:`Node3D<class_Node3D>` < :ref:`Node<class_Node>` < :ref:`Object<class_Object>`
A CPU-based 3D particle emitter.
.. rst-class:: classref-introduction-group
CPU-based 3D particle node used to create a variety of particle systems and effects.
See also :ref:`GPUParticles3D<class_GPUParticles3D>`, which provides the same functionality with hardware acceleration, but may not run on older devices.
.. rst-class:: classref-introduction-group
.. rst-class:: classref-reftable-group
.. rst-class:: classref-reftable-group
.. rst-class:: classref-section-separator
.. rst-class:: classref-descriptions-group
.. rst-class:: classref-signal
finished ( )
Emitted when all active particles have finished processing. When :ref:`one_shot<class_CPUParticles3D_property_one_shot>` is disabled, particles will process continuously, so this is never emitted.
.. rst-class:: classref-section-separator
.. rst-class:: classref-descriptions-group
.. rst-class:: classref-enumeration
enum DrawOrder:
.. rst-class:: classref-enumeration-constant
:ref:`DrawOrder<enum_CPUParticles3D_DrawOrder>` DRAW_ORDER_INDEX = 0
Particles are drawn in the order emitted.
.. rst-class:: classref-enumeration-constant
:ref:`DrawOrder<enum_CPUParticles3D_DrawOrder>` DRAW_ORDER_LIFETIME = 1
Particles are drawn in order of remaining lifetime.
.. rst-class:: classref-enumeration-constant
:ref:`DrawOrder<enum_CPUParticles3D_DrawOrder>` DRAW_ORDER_VIEW_DEPTH = 2
Particles are drawn in order of depth.
.. rst-class:: classref-item-separator
.. rst-class:: classref-enumeration
enum Parameter:
.. rst-class:: classref-enumeration-constant
:ref:`Parameter<enum_CPUParticles3D_Parameter>` PARAM_INITIAL_LINEAR_VELOCITY = 0
Use with :ref:`set_param_min<class_CPUParticles3D_method_set_param_min>`, :ref:`set_param_max<class_CPUParticles3D_method_set_param_max>`, and :ref:`set_param_curve<class_CPUParticles3D_method_set_param_curve>` to set initial velocity properties.
.. rst-class:: classref-enumeration-constant
:ref:`Parameter<enum_CPUParticles3D_Parameter>` PARAM_ANGULAR_VELOCITY = 1
Use with :ref:`set_param_min<class_CPUParticles3D_method_set_param_min>`, :ref:`set_param_max<class_CPUParticles3D_method_set_param_max>`, and :ref:`set_param_curve<class_CPUParticles3D_method_set_param_curve>` to set angular velocity properties.
.. rst-class:: classref-enumeration-constant
:ref:`Parameter<enum_CPUParticles3D_Parameter>` PARAM_ORBIT_VELOCITY = 2
Use with :ref:`set_param_min<class_CPUParticles3D_method_set_param_min>`, :ref:`set_param_max<class_CPUParticles3D_method_set_param_max>`, and :ref:`set_param_curve<class_CPUParticles3D_method_set_param_curve>` to set orbital velocity properties.
.. rst-class:: classref-enumeration-constant
:ref:`Parameter<enum_CPUParticles3D_Parameter>` PARAM_LINEAR_ACCEL = 3
Use with :ref:`set_param_min<class_CPUParticles3D_method_set_param_min>`, :ref:`set_param_max<class_CPUParticles3D_method_set_param_max>`, and :ref:`set_param_curve<class_CPUParticles3D_method_set_param_curve>` to set linear acceleration properties.
.. rst-class:: classref-enumeration-constant
:ref:`Parameter<enum_CPUParticles3D_Parameter>` PARAM_RADIAL_ACCEL = 4
Use with :ref:`set_param_min<class_CPUParticles3D_method_set_param_min>`, :ref:`set_param_max<class_CPUParticles3D_method_set_param_max>`, and :ref:`set_param_curve<class_CPUParticles3D_method_set_param_curve>` to set radial acceleration properties.
.. rst-class:: classref-enumeration-constant
:ref:`Parameter<enum_CPUParticles3D_Parameter>` PARAM_TANGENTIAL_ACCEL = 5
Use with :ref:`set_param_min<class_CPUParticles3D_method_set_param_min>`, :ref:`set_param_max<class_CPUParticles3D_method_set_param_max>`, and :ref:`set_param_curve<class_CPUParticles3D_method_set_param_curve>` to set tangential acceleration properties.
.. rst-class:: classref-enumeration-constant
:ref:`Parameter<enum_CPUParticles3D_Parameter>` PARAM_DAMPING = 6
Use with :ref:`set_param_min<class_CPUParticles3D_method_set_param_min>`, :ref:`set_param_max<class_CPUParticles3D_method_set_param_max>`, and :ref:`set_param_curve<class_CPUParticles3D_method_set_param_curve>` to set damping properties.
.. rst-class:: classref-enumeration-constant
:ref:`Parameter<enum_CPUParticles3D_Parameter>` PARAM_ANGLE = 7
Use with :ref:`set_param_min<class_CPUParticles3D_method_set_param_min>`, :ref:`set_param_max<class_CPUParticles3D_method_set_param_max>`, and :ref:`set_param_curve<class_CPUParticles3D_method_set_param_curve>` to set angle properties.
.. rst-class:: classref-enumeration-constant
:ref:`Parameter<enum_CPUParticles3D_Parameter>` PARAM_SCALE = 8
Use with :ref:`set_param_min<class_CPUParticles3D_method_set_param_min>`, :ref:`set_param_max<class_CPUParticles3D_method_set_param_max>`, and :ref:`set_param_curve<class_CPUParticles3D_method_set_param_curve>` to set scale properties.
.. rst-class:: classref-enumeration-constant
:ref:`Parameter<enum_CPUParticles3D_Parameter>` PARAM_HUE_VARIATION = 9
Use with :ref:`set_param_min<class_CPUParticles3D_method_set_param_min>`, :ref:`set_param_max<class_CPUParticles3D_method_set_param_max>`, and :ref:`set_param_curve<class_CPUParticles3D_method_set_param_curve>` to set hue variation properties.
.. rst-class:: classref-enumeration-constant
:ref:`Parameter<enum_CPUParticles3D_Parameter>` PARAM_ANIM_SPEED = 10
Use with :ref:`set_param_min<class_CPUParticles3D_method_set_param_min>`, :ref:`set_param_max<class_CPUParticles3D_method_set_param_max>`, and :ref:`set_param_curve<class_CPUParticles3D_method_set_param_curve>` to set animation speed properties.
.. rst-class:: classref-enumeration-constant
:ref:`Parameter<enum_CPUParticles3D_Parameter>` PARAM_ANIM_OFFSET = 11
Use with :ref:`set_param_min<class_CPUParticles3D_method_set_param_min>`, :ref:`set_param_max<class_CPUParticles3D_method_set_param_max>`, and :ref:`set_param_curve<class_CPUParticles3D_method_set_param_curve>` to set animation offset properties.
.. rst-class:: classref-enumeration-constant
:ref:`Parameter<enum_CPUParticles3D_Parameter>` PARAM_MAX = 12
Represents the size of the :ref:`Parameter<enum_CPUParticles3D_Parameter>` enum.
.. rst-class:: classref-item-separator
.. rst-class:: classref-enumeration
enum ParticleFlags:
.. rst-class:: classref-enumeration-constant
:ref:`ParticleFlags<enum_CPUParticles3D_ParticleFlags>` PARTICLE_FLAG_ALIGN_Y_TO_VELOCITY = 0
Use with :ref:`set_particle_flag<class_CPUParticles3D_method_set_particle_flag>` to set :ref:`particle_flag_align_y<class_CPUParticles3D_property_particle_flag_align_y>`.
.. rst-class:: classref-enumeration-constant
:ref:`ParticleFlags<enum_CPUParticles3D_ParticleFlags>` PARTICLE_FLAG_ROTATE_Y = 1
Use with :ref:`set_particle_flag<class_CPUParticles3D_method_set_particle_flag>` to set :ref:`particle_flag_rotate_y<class_CPUParticles3D_property_particle_flag_rotate_y>`.
.. rst-class:: classref-enumeration-constant
:ref:`ParticleFlags<enum_CPUParticles3D_ParticleFlags>` PARTICLE_FLAG_DISABLE_Z = 2
Use with :ref:`set_particle_flag<class_CPUParticles3D_method_set_particle_flag>` to set :ref:`particle_flag_disable_z<class_CPUParticles3D_property_particle_flag_disable_z>`.
.. rst-class:: classref-enumeration-constant
:ref:`ParticleFlags<enum_CPUParticles3D_ParticleFlags>` PARTICLE_FLAG_MAX = 3
Represents the size of the :ref:`ParticleFlags<enum_CPUParticles3D_ParticleFlags>` enum.
.. rst-class:: classref-item-separator
.. rst-class:: classref-enumeration
enum EmissionShape:
.. rst-class:: classref-enumeration-constant
:ref:`EmissionShape<enum_CPUParticles3D_EmissionShape>` EMISSION_SHAPE_POINT = 0
All particles will be emitted from a single point.
.. rst-class:: classref-enumeration-constant
:ref:`EmissionShape<enum_CPUParticles3D_EmissionShape>` EMISSION_SHAPE_SPHERE = 1
Particles will be emitted in the volume of a sphere.
.. rst-class:: classref-enumeration-constant
:ref:`EmissionShape<enum_CPUParticles3D_EmissionShape>` EMISSION_SHAPE_SPHERE_SURFACE = 2
Particles will be emitted on the surface of a sphere.
.. rst-class:: classref-enumeration-constant
:ref:`EmissionShape<enum_CPUParticles3D_EmissionShape>` EMISSION_SHAPE_BOX = 3
Particles will be emitted in the volume of a box.
.. rst-class:: classref-enumeration-constant
:ref:`EmissionShape<enum_CPUParticles3D_EmissionShape>` EMISSION_SHAPE_POINTS = 4
Particles will be emitted at a position chosen randomly among :ref:`emission_points<class_CPUParticles3D_property_emission_points>`. Particle color will be modulated by :ref:`emission_colors<class_CPUParticles3D_property_emission_colors>`.
.. rst-class:: classref-enumeration-constant
:ref:`EmissionShape<enum_CPUParticles3D_EmissionShape>` EMISSION_SHAPE_DIRECTED_POINTS = 5
Particles will be emitted at a position chosen randomly among :ref:`emission_points<class_CPUParticles3D_property_emission_points>`. Particle velocity and rotation will be set based on :ref:`emission_normals<class_CPUParticles3D_property_emission_normals>`. Particle color will be modulated by :ref:`emission_colors<class_CPUParticles3D_property_emission_colors>`.
.. rst-class:: classref-enumeration-constant
:ref:`EmissionShape<enum_CPUParticles3D_EmissionShape>` EMISSION_SHAPE_RING = 6
Particles will be emitted in a ring or cylinder.
.. rst-class:: classref-enumeration-constant
:ref:`EmissionShape<enum_CPUParticles3D_EmissionShape>` EMISSION_SHAPE_MAX = 7
Represents the size of the :ref:`EmissionShape<enum_CPUParticles3D_EmissionShape>` enum.
.. rst-class:: classref-section-separator
.. rst-class:: classref-descriptions-group
.. rst-class:: classref-property
:ref:`int<class_int>` amount = 8
.. rst-class:: classref-property-setget
- void set_amount ( :ref:`int<class_int>` value )
- :ref:`int<class_int>` get_amount ( )
Number of particles emitted in one emission cycle.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`Curve<class_Curve>` angle_curve
.. rst-class:: classref-property-setget
- void set_param_curve ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`Curve<class_Curve>` curve )
- :ref:`Curve<class_Curve>` get_param_curve ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Each particle's rotation will be animated along this :ref:`Curve<class_Curve>`.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` angle_max = 0.0
.. rst-class:: classref-property-setget
- void set_param_max ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_param_max ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Maximum angle.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` angle_min = 0.0
.. rst-class:: classref-property-setget
- void set_param_min ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_param_min ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Minimum angle.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`Curve<class_Curve>` angular_velocity_curve
.. rst-class:: classref-property-setget
- void set_param_curve ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`Curve<class_Curve>` curve )
- :ref:`Curve<class_Curve>` get_param_curve ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Each particle's angular velocity (rotation speed) will vary along this :ref:`Curve<class_Curve>` over its lifetime.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` angular_velocity_max = 0.0
.. rst-class:: classref-property-setget
- void set_param_max ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_param_max ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Maximum initial angular velocity (rotation speed) applied to each particle in degrees per second.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` angular_velocity_min = 0.0
.. rst-class:: classref-property-setget
- void set_param_min ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_param_min ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Minimum initial angular velocity (rotation speed) applied to each particle in degrees per second.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`Curve<class_Curve>` anim_offset_curve
.. rst-class:: classref-property-setget
- void set_param_curve ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`Curve<class_Curve>` curve )
- :ref:`Curve<class_Curve>` get_param_curve ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Each particle's animation offset will vary along this :ref:`Curve<class_Curve>`.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` anim_offset_max = 0.0
.. rst-class:: classref-property-setget
- void set_param_max ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_param_max ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Maximum animation offset.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` anim_offset_min = 0.0
.. rst-class:: classref-property-setget
- void set_param_min ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_param_min ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Minimum animation offset.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`Curve<class_Curve>` anim_speed_curve
.. rst-class:: classref-property-setget
- void set_param_curve ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`Curve<class_Curve>` curve )
- :ref:`Curve<class_Curve>` get_param_curve ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Each particle's animation speed will vary along this :ref:`Curve<class_Curve>`.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` anim_speed_max = 0.0
.. rst-class:: classref-property-setget
- void set_param_max ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_param_max ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Maximum particle animation speed.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` anim_speed_min = 0.0
.. rst-class:: classref-property-setget
- void set_param_min ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_param_min ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Minimum particle animation speed.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`Color<class_Color>` color = Color(1, 1, 1, 1)
.. rst-class:: classref-property-setget
- void set_color ( :ref:`Color<class_Color>` value )
- :ref:`Color<class_Color>` get_color ( )
Each particle's initial color.
Note: :ref:`color<class_CPUParticles3D_property_color>` multiplies the particle mesh's vertex colors. To have a visible effect on a :ref:`BaseMaterial3D<class_BaseMaterial3D>`, :ref:`BaseMaterial3D.vertex_color_use_as_albedo<class_BaseMaterial3D_property_vertex_color_use_as_albedo>` must be true
. For a :ref:`ShaderMaterial<class_ShaderMaterial>`, ALBEDO *= COLOR.rgb;
must be inserted in the shader's fragment()
function. Otherwise, :ref:`color<class_CPUParticles3D_property_color>` will have no visible effect.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`Gradient<class_Gradient>` color_initial_ramp
.. rst-class:: classref-property-setget
- void set_color_initial_ramp ( :ref:`Gradient<class_Gradient>` value )
- :ref:`Gradient<class_Gradient>` get_color_initial_ramp ( )
Each particle's initial color will vary along this :ref:`GradientTexture1D<class_GradientTexture1D>` (multiplied with :ref:`color<class_CPUParticles3D_property_color>`).
Note: :ref:`color_initial_ramp<class_CPUParticles3D_property_color_initial_ramp>` multiplies the particle mesh's vertex colors. To have a visible effect on a :ref:`BaseMaterial3D<class_BaseMaterial3D>`, :ref:`BaseMaterial3D.vertex_color_use_as_albedo<class_BaseMaterial3D_property_vertex_color_use_as_albedo>` must be true
. For a :ref:`ShaderMaterial<class_ShaderMaterial>`, ALBEDO *= COLOR.rgb;
must be inserted in the shader's fragment()
function. Otherwise, :ref:`color_initial_ramp<class_CPUParticles3D_property_color_initial_ramp>` will have no visible effect.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`Gradient<class_Gradient>` color_ramp
.. rst-class:: classref-property-setget
- void set_color_ramp ( :ref:`Gradient<class_Gradient>` value )
- :ref:`Gradient<class_Gradient>` get_color_ramp ( )
Each particle's color will vary along this :ref:`GradientTexture1D<class_GradientTexture1D>` over its lifetime (multiplied with :ref:`color<class_CPUParticles3D_property_color>`).
Note: :ref:`color_ramp<class_CPUParticles3D_property_color_ramp>` multiplies the particle mesh's vertex colors. To have a visible effect on a :ref:`BaseMaterial3D<class_BaseMaterial3D>`, :ref:`BaseMaterial3D.vertex_color_use_as_albedo<class_BaseMaterial3D_property_vertex_color_use_as_albedo>` must be true
. For a :ref:`ShaderMaterial<class_ShaderMaterial>`, ALBEDO *= COLOR.rgb;
must be inserted in the shader's fragment()
function. Otherwise, :ref:`color_ramp<class_CPUParticles3D_property_color_ramp>` will have no visible effect.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`Curve<class_Curve>` damping_curve
.. rst-class:: classref-property-setget
- void set_param_curve ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`Curve<class_Curve>` curve )
- :ref:`Curve<class_Curve>` get_param_curve ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Damping will vary along this :ref:`Curve<class_Curve>`.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` damping_max = 0.0
.. rst-class:: classref-property-setget
- void set_param_max ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_param_max ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Maximum damping.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` damping_min = 0.0
.. rst-class:: classref-property-setget
- void set_param_min ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_param_min ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Minimum damping.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`Vector3<class_Vector3>` direction = Vector3(1, 0, 0)
.. rst-class:: classref-property-setget
- void set_direction ( :ref:`Vector3<class_Vector3>` value )
- :ref:`Vector3<class_Vector3>` get_direction ( )
Unit vector specifying the particles' emission direction.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`DrawOrder<enum_CPUParticles3D_DrawOrder>` draw_order = 0
.. rst-class:: classref-property-setget
- void set_draw_order ( :ref:`DrawOrder<enum_CPUParticles3D_DrawOrder>` value )
- :ref:`DrawOrder<enum_CPUParticles3D_DrawOrder>` get_draw_order ( )
Particle draw order. Uses :ref:`DrawOrder<enum_CPUParticles3D_DrawOrder>` values.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`Vector3<class_Vector3>` emission_box_extents
.. rst-class:: classref-property-setget
- void set_emission_box_extents ( :ref:`Vector3<class_Vector3>` value )
- :ref:`Vector3<class_Vector3>` get_emission_box_extents ( )
The rectangle's extents if :ref:`emission_shape<class_CPUParticles3D_property_emission_shape>` is set to :ref:`EMISSION_SHAPE_BOX<class_CPUParticles3D_constant_EMISSION_SHAPE_BOX>`.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`PackedColorArray<class_PackedColorArray>` emission_colors = PackedColorArray()
.. rst-class:: classref-property-setget
- void set_emission_colors ( :ref:`PackedColorArray<class_PackedColorArray>` value )
- :ref:`PackedColorArray<class_PackedColorArray>` get_emission_colors ( )
Sets the :ref:`Color<class_Color>`s to modulate particles by when using :ref:`EMISSION_SHAPE_POINTS<class_CPUParticles3D_constant_EMISSION_SHAPE_POINTS>` or :ref:`EMISSION_SHAPE_DIRECTED_POINTS<class_CPUParticles3D_constant_EMISSION_SHAPE_DIRECTED_POINTS>`.
Note: :ref:`emission_colors<class_CPUParticles3D_property_emission_colors>` multiplies the particle mesh's vertex colors. To have a visible effect on a :ref:`BaseMaterial3D<class_BaseMaterial3D>`, :ref:`BaseMaterial3D.vertex_color_use_as_albedo<class_BaseMaterial3D_property_vertex_color_use_as_albedo>` must be true
. For a :ref:`ShaderMaterial<class_ShaderMaterial>`, ALBEDO *= COLOR.rgb;
must be inserted in the shader's fragment()
function. Otherwise, :ref:`emission_colors<class_CPUParticles3D_property_emission_colors>` will have no visible effect.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`PackedVector3Array<class_PackedVector3Array>` emission_normals
.. rst-class:: classref-property-setget
- void set_emission_normals ( :ref:`PackedVector3Array<class_PackedVector3Array>` value )
- :ref:`PackedVector3Array<class_PackedVector3Array>` get_emission_normals ( )
Sets the direction the particles will be emitted in when using :ref:`EMISSION_SHAPE_DIRECTED_POINTS<class_CPUParticles3D_constant_EMISSION_SHAPE_DIRECTED_POINTS>`.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`PackedVector3Array<class_PackedVector3Array>` emission_points
.. rst-class:: classref-property-setget
- void set_emission_points ( :ref:`PackedVector3Array<class_PackedVector3Array>` value )
- :ref:`PackedVector3Array<class_PackedVector3Array>` get_emission_points ( )
Sets the initial positions to spawn particles when using :ref:`EMISSION_SHAPE_POINTS<class_CPUParticles3D_constant_EMISSION_SHAPE_POINTS>` or :ref:`EMISSION_SHAPE_DIRECTED_POINTS<class_CPUParticles3D_constant_EMISSION_SHAPE_DIRECTED_POINTS>`.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`Vector3<class_Vector3>` emission_ring_axis
.. rst-class:: classref-property-setget
- void set_emission_ring_axis ( :ref:`Vector3<class_Vector3>` value )
- :ref:`Vector3<class_Vector3>` get_emission_ring_axis ( )
The axis of the ring when using the emitter :ref:`EMISSION_SHAPE_RING<class_CPUParticles3D_constant_EMISSION_SHAPE_RING>`.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` emission_ring_height
.. rst-class:: classref-property-setget
- void set_emission_ring_height ( :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_emission_ring_height ( )
The height of the ring when using the emitter :ref:`EMISSION_SHAPE_RING<class_CPUParticles3D_constant_EMISSION_SHAPE_RING>`.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` emission_ring_inner_radius
.. rst-class:: classref-property-setget
- void set_emission_ring_inner_radius ( :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_emission_ring_inner_radius ( )
The inner radius of the ring when using the emitter :ref:`EMISSION_SHAPE_RING<class_CPUParticles3D_constant_EMISSION_SHAPE_RING>`.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` emission_ring_radius
.. rst-class:: classref-property-setget
- void set_emission_ring_radius ( :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_emission_ring_radius ( )
The radius of the ring when using the emitter :ref:`EMISSION_SHAPE_RING<class_CPUParticles3D_constant_EMISSION_SHAPE_RING>`.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`EmissionShape<enum_CPUParticles3D_EmissionShape>` emission_shape = 0
.. rst-class:: classref-property-setget
- void set_emission_shape ( :ref:`EmissionShape<enum_CPUParticles3D_EmissionShape>` value )
- :ref:`EmissionShape<enum_CPUParticles3D_EmissionShape>` get_emission_shape ( )
Particles will be emitted inside this region. See :ref:`EmissionShape<enum_CPUParticles3D_EmissionShape>` for possible values.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` emission_sphere_radius
.. rst-class:: classref-property-setget
- void set_emission_sphere_radius ( :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_emission_sphere_radius ( )
The sphere's radius if :ref:`EmissionShape<enum_CPUParticles3D_EmissionShape>` is set to :ref:`EMISSION_SHAPE_SPHERE<class_CPUParticles3D_constant_EMISSION_SHAPE_SPHERE>`.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`bool<class_bool>` emitting = true
.. rst-class:: classref-property-setget
- void set_emitting ( :ref:`bool<class_bool>` value )
- :ref:`bool<class_bool>` is_emitting ( )
If true
, particles are being emitted. :ref:`emitting<class_CPUParticles3D_property_emitting>` can be used to start and stop particles from emitting. However, if :ref:`one_shot<class_CPUParticles3D_property_one_shot>` is true
setting :ref:`emitting<class_CPUParticles3D_property_emitting>` to true
will not restart the emission cycle until after all active particles finish processing. You can use the :ref:`finished<class_CPUParticles3D_signal_finished>` signal to be notified once all active particles finish processing.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` explosiveness = 0.0
.. rst-class:: classref-property-setget
- void set_explosiveness_ratio ( :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_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.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`int<class_int>` fixed_fps = 0
.. rst-class:: classref-property-setget
- void set_fixed_fps ( :ref:`int<class_int>` value )
- :ref:`int<class_int>` get_fixed_fps ( )
The particle system's frame rate is fixed to a value. For example, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the particle system itself.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` flatness = 0.0
.. rst-class:: classref-property-setget
- void set_flatness ( :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_flatness ( )
Amount of :ref:`spread<class_CPUParticles3D_property_spread>` in Y/Z plane. A value of 1
restricts particles to X/Z plane.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`bool<class_bool>` fract_delta = true
.. rst-class:: classref-property-setget
- void set_fractional_delta ( :ref:`bool<class_bool>` value )
- :ref:`bool<class_bool>` get_fractional_delta ( )
If true
, results in fractional delta calculation which has a smoother particles display effect.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`Vector3<class_Vector3>` gravity = Vector3(0, -9.8, 0)
.. rst-class:: classref-property-setget
- void set_gravity ( :ref:`Vector3<class_Vector3>` value )
- :ref:`Vector3<class_Vector3>` get_gravity ( )
Gravity applied to every particle.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`Curve<class_Curve>` hue_variation_curve
.. rst-class:: classref-property-setget
- void set_param_curve ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`Curve<class_Curve>` curve )
- :ref:`Curve<class_Curve>` get_param_curve ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Each particle's hue will vary along this :ref:`Curve<class_Curve>`.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` hue_variation_max = 0.0
.. rst-class:: classref-property-setget
- void set_param_max ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_param_max ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Maximum hue variation.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` hue_variation_min = 0.0
.. rst-class:: classref-property-setget
- void set_param_min ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_param_min ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Minimum hue variation.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` initial_velocity_max = 0.0
.. rst-class:: classref-property-setget
- void set_param_max ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_param_max ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Maximum value of the initial velocity.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` initial_velocity_min = 0.0
.. rst-class:: classref-property-setget
- void set_param_min ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_param_min ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Minimum value of the initial velocity.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` lifetime = 1.0
.. rst-class:: classref-property-setget
- void set_lifetime ( :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_lifetime ( )
Amount of time each particle will exist.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` lifetime_randomness = 0.0
.. rst-class:: classref-property-setget
- void set_lifetime_randomness ( :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_lifetime_randomness ( )
Particle lifetime randomness ratio.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`Curve<class_Curve>` linear_accel_curve
.. rst-class:: classref-property-setget
- void set_param_curve ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`Curve<class_Curve>` curve )
- :ref:`Curve<class_Curve>` get_param_curve ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Each particle's linear acceleration will vary along this :ref:`Curve<class_Curve>`.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` linear_accel_max = 0.0
.. rst-class:: classref-property-setget
- void set_param_max ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_param_max ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Maximum linear acceleration.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` linear_accel_min = 0.0
.. rst-class:: classref-property-setget
- void set_param_min ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_param_min ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Minimum linear acceleration.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`bool<class_bool>` local_coords = false
.. rst-class:: classref-property-setget
- void set_use_local_coordinates ( :ref:`bool<class_bool>` value )
- :ref:`bool<class_bool>` get_use_local_coordinates ( )
If true
, particles use the parent node's coordinate space (known as local coordinates). This will cause particles to move and rotate along the CPUParticles3D node (and its parents) when it is moved or rotated. If false
, particles use global coordinates; they will not move or rotate along the CPUParticles3D node (and its parents) when it is moved or rotated.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
.. rst-class:: classref-property-setget
- void set_mesh ( :ref:`Mesh<class_Mesh>` value )
- :ref:`Mesh<class_Mesh>` get_mesh ( )
The :ref:`Mesh<class_Mesh>` used for each particle. If null
, particles will be spheres.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`bool<class_bool>` one_shot = false
.. rst-class:: classref-property-setget
- void set_one_shot ( :ref:`bool<class_bool>` value )
- :ref:`bool<class_bool>` get_one_shot ( )
If true
, only one emission cycle occurs. If set true
during a cycle, emission will stop at the cycle's end.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`Curve<class_Curve>` orbit_velocity_curve
.. rst-class:: classref-property-setget
- void set_param_curve ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`Curve<class_Curve>` curve )
- :ref:`Curve<class_Curve>` get_param_curve ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Each particle's orbital velocity will vary along this :ref:`Curve<class_Curve>`.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` orbit_velocity_max
.. rst-class:: classref-property-setget
- void set_param_max ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_param_max ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Maximum orbit velocity.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` orbit_velocity_min
.. rst-class:: classref-property-setget
- void set_param_min ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_param_min ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Minimum orbit velocity.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`bool<class_bool>` particle_flag_align_y = false
.. rst-class:: classref-property-setget
- void set_particle_flag ( :ref:`ParticleFlags<enum_CPUParticles3D_ParticleFlags>` particle_flag, :ref:`bool<class_bool>` enable )
- :ref:`bool<class_bool>` get_particle_flag ( :ref:`ParticleFlags<enum_CPUParticles3D_ParticleFlags>` particle_flag ) |const|
Align Y axis of particle with the direction of its velocity.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`bool<class_bool>` particle_flag_disable_z = false
.. rst-class:: classref-property-setget
- void set_particle_flag ( :ref:`ParticleFlags<enum_CPUParticles3D_ParticleFlags>` particle_flag, :ref:`bool<class_bool>` enable )
- :ref:`bool<class_bool>` get_particle_flag ( :ref:`ParticleFlags<enum_CPUParticles3D_ParticleFlags>` particle_flag ) |const|
If true
, particles will not move on the Z axis.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`bool<class_bool>` particle_flag_rotate_y = false
.. rst-class:: classref-property-setget
- void set_particle_flag ( :ref:`ParticleFlags<enum_CPUParticles3D_ParticleFlags>` particle_flag, :ref:`bool<class_bool>` enable )
- :ref:`bool<class_bool>` get_particle_flag ( :ref:`ParticleFlags<enum_CPUParticles3D_ParticleFlags>` particle_flag ) |const|
If true
, particles rotate around Y axis by :ref:`angle_min<class_CPUParticles3D_property_angle_min>`.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` preprocess = 0.0
.. rst-class:: classref-property-setget
- void set_pre_process_time ( :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_pre_process_time ( )
Particle system starts as if it had already run for this many seconds.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`Curve<class_Curve>` radial_accel_curve
.. rst-class:: classref-property-setget
- void set_param_curve ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`Curve<class_Curve>` curve )
- :ref:`Curve<class_Curve>` get_param_curve ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Each particle's radial acceleration will vary along this :ref:`Curve<class_Curve>`.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` radial_accel_max = 0.0
.. rst-class:: classref-property-setget
- void set_param_max ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_param_max ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Maximum radial acceleration.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` radial_accel_min = 0.0
.. rst-class:: classref-property-setget
- void set_param_min ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_param_min ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Minimum radial acceleration.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` randomness = 0.0
.. rst-class:: classref-property-setget
- void set_randomness_ratio ( :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_randomness_ratio ( )
Emission lifetime randomness ratio.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`Curve<class_Curve>` scale_amount_curve
.. rst-class:: classref-property-setget
- void set_param_curve ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`Curve<class_Curve>` curve )
- :ref:`Curve<class_Curve>` get_param_curve ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Each particle's scale will vary along this :ref:`Curve<class_Curve>`.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` scale_amount_max = 1.0
.. rst-class:: classref-property-setget
- void set_param_max ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_param_max ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Maximum scale.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` scale_amount_min = 1.0
.. rst-class:: classref-property-setget
- void set_param_min ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_param_min ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Minimum scale.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`Curve<class_Curve>` scale_curve_x
.. rst-class:: classref-property-setget
- void set_scale_curve_x ( :ref:`Curve<class_Curve>` value )
- :ref:`Curve<class_Curve>` get_scale_curve_x ( )
Curve for the scale over life, along the x axis.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`Curve<class_Curve>` scale_curve_y
.. rst-class:: classref-property-setget
- void set_scale_curve_y ( :ref:`Curve<class_Curve>` value )
- :ref:`Curve<class_Curve>` get_scale_curve_y ( )
Curve for the scale over life, along the y axis.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`Curve<class_Curve>` scale_curve_z
.. rst-class:: classref-property-setget
- void set_scale_curve_z ( :ref:`Curve<class_Curve>` value )
- :ref:`Curve<class_Curve>` get_scale_curve_z ( )
Curve for the scale over life, along the z axis.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` speed_scale = 1.0
.. rst-class:: classref-property-setget
- void set_speed_scale ( :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_speed_scale ( )
Particle system's running speed scaling ratio. A value of 0
can be used to pause the particles.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`bool<class_bool>` split_scale = false
.. rst-class:: classref-property-setget
- void set_split_scale ( :ref:`bool<class_bool>` value )
- :ref:`bool<class_bool>` get_split_scale ( )
If set to true
, three different scale curves can be specified, one per scale axis.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` spread = 45.0
.. rst-class:: classref-property-setget
- void set_spread ( :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_spread ( )
Each particle's initial direction range from +spread
to -spread
degrees. Applied to X/Z plane and Y/Z planes.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`Curve<class_Curve>` tangential_accel_curve
.. rst-class:: classref-property-setget
- void set_param_curve ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`Curve<class_Curve>` curve )
- :ref:`Curve<class_Curve>` get_param_curve ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Each particle's tangential acceleration will vary along this :ref:`Curve<class_Curve>`.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` tangential_accel_max = 0.0
.. rst-class:: classref-property-setget
- void set_param_max ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_param_max ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Maximum tangent acceleration.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`float<class_float>` tangential_accel_min = 0.0
.. rst-class:: classref-property-setget
- void set_param_min ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`float<class_float>` value )
- :ref:`float<class_float>` get_param_min ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Minimum tangent acceleration.
.. rst-class:: classref-section-separator
.. rst-class:: classref-descriptions-group
.. rst-class:: classref-method
void convert_from_particles ( :ref:`Node<class_Node>` particles )
Sets this node's properties to match a given :ref:`GPUParticles3D<class_GPUParticles3D>` node with an assigned :ref:`ParticleProcessMaterial<class_ParticleProcessMaterial>`.
.. rst-class:: classref-item-separator
.. rst-class:: classref-method
:ref:`Curve<class_Curve>` get_param_curve ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Returns the :ref:`Curve<class_Curve>` of the parameter specified by :ref:`Parameter<enum_CPUParticles3D_Parameter>`.
.. rst-class:: classref-item-separator
.. rst-class:: classref-method
:ref:`float<class_float>` get_param_max ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Returns the maximum value range for the given parameter.
.. rst-class:: classref-item-separator
.. rst-class:: classref-method
:ref:`float<class_float>` get_param_min ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param ) |const|
Returns the minimum value range for the given parameter.
.. rst-class:: classref-item-separator
.. rst-class:: classref-method
:ref:`bool<class_bool>` get_particle_flag ( :ref:`ParticleFlags<enum_CPUParticles3D_ParticleFlags>` particle_flag ) |const|
Returns the enabled state of the given particle flag (see :ref:`ParticleFlags<enum_CPUParticles3D_ParticleFlags>` for options).
.. rst-class:: classref-item-separator
.. rst-class:: classref-method
void restart ( )
Restarts the particle emitter.
.. rst-class:: classref-item-separator
.. rst-class:: classref-method
void set_param_curve ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`Curve<class_Curve>` curve )
Sets the :ref:`Curve<class_Curve>` of the parameter specified by :ref:`Parameter<enum_CPUParticles3D_Parameter>`.
.. rst-class:: classref-item-separator
.. rst-class:: classref-method
void set_param_max ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`float<class_float>` value )
Sets the maximum value for the given parameter.
.. rst-class:: classref-item-separator
.. rst-class:: classref-method
void set_param_min ( :ref:`Parameter<enum_CPUParticles3D_Parameter>` param, :ref:`float<class_float>` value )
Sets the minimum value for the given parameter.
.. rst-class:: classref-item-separator
.. rst-class:: classref-method
void set_particle_flag ( :ref:`ParticleFlags<enum_CPUParticles3D_ParticleFlags>` particle_flag, :ref:`bool<class_bool>` enable )
Enables or disables the given particle flag (see :ref:`ParticleFlags<enum_CPUParticles3D_ParticleFlags>` for options).