CPU-based 3D particle emitter.
CPU-based 3D particle node used to create a variety of particle systems and effects.
See also [Particles], which provides the same functionality with hardware acceleration, but may not run on older devices.
[b]Note:[/b] Unlike [Particles], the visibility rect is generated on-the-fly and doesn't need to be configured by the user.
Returns the base value of the parameter specified by [enum Parameter].
Returns the [Curve] of the parameter specified by [enum Parameter].
Returns the randomness factor of the parameter specified by [enum Parameter].
Returns the enabled state of the given flag (see [enum Flags] for options).
Restarts the particle emitter.
Sets the base value of the parameter specified by [enum Parameter].
Sets the [Curve] of the parameter specified by [enum Parameter].
Sets the randomness factor of the parameter specified by [enum Parameter].
Enables or disables the given flag (see [enum Flags] for options).
The number of particles emitted in one emission cycle (corresponding to the [member lifetime]).
[b]Note:[/b] Changing [member amount] will reset the particle emission, therefore removing all particles that were already emitted before changing [member amount].
Initial rotation applied to each particle, in degrees.
Each particle's rotation will be animated along this [Curve].
Rotation randomness ratio.
Initial angular velocity applied to each particle in [i]degrees[/i] per second. Sets the speed of rotation of the particle.
Each particle's angular velocity will vary along this [Curve].
Angular velocity randomness ratio.
Particle animation offset.
Each particle's animation offset will vary along this [Curve].
Animation offset randomness ratio.
Particle animation speed.
Each particle's animation speed will vary along this [Curve].
Animation speed randomness ratio.
Each particle's initial color.
[b]Note:[/b] [member color] multiplies the particle mesh's vertex colors. To have a visible effect on a [SpatialMaterial], [member SpatialMaterial.vertex_color_use_as_albedo] [i]must[/i] be [code]true[/code]. For a [ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the shader's [code]fragment()[/code] function. Otherwise, [member color] will have no visible effect.
Each particle's initial color will vary along this [GradientTexture] (multiplied with [member color]).
[b]Note:[/b] [member color_initial_ramp] multiplies the particle mesh's vertex colors. To have a visible effect on a [SpatialMaterial], [member SpatialMaterial.vertex_color_use_as_albedo] [i]must[/i] be [code]true[/code]. For a [ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the shader's [code]fragment()[/code] function. Otherwise, [member color_initial_ramp] will have no visible effect.
Each particle's color will vary along this [GradientTexture] over its lifetime (multiplied with [member color]).
[b]Note:[/b] [member color_ramp] multiplies the particle mesh's vertex colors. To have a visible effect on a [SpatialMaterial], [member SpatialMaterial.vertex_color_use_as_albedo] [i]must[/i] be [code]true[/code]. For a [ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the shader's [code]fragment()[/code] function. Otherwise, [member color_ramp] will have no visible effect.
The rate at which particles lose velocity.
Damping will vary along this [Curve].
Damping randomness ratio.
Unit vector specifying the particles' emission direction.
Particle draw order. Uses [enum DrawOrder] values.
The rectangle's extents if [member emission_shape] is set to [constant EMISSION_SHAPE_BOX].
Sets the [Color]s to modulate particles by when using [constant EMISSION_SHAPE_POINTS] or [constant EMISSION_SHAPE_DIRECTED_POINTS].
[b]Note:[/b] [member emission_colors] multiplies the particle mesh's vertex colors. To have a visible effect on a [SpatialMaterial], [member SpatialMaterial.vertex_color_use_as_albedo] [i]must[/i] be [code]true[/code]. For a [ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the shader's [code]fragment()[/code] function. Otherwise, [member emission_colors] will have no visible effect.
Sets the direction the particles will be emitted in when using [constant EMISSION_SHAPE_DIRECTED_POINTS].
Sets the initial positions to spawn particles when using [constant EMISSION_SHAPE_POINTS] or [constant EMISSION_SHAPE_DIRECTED_POINTS].
The axis for the ring shaped emitter when using [constant EMISSION_SHAPE_RING].
The height for the ring shaped emitter when using [constant EMISSION_SHAPE_RING].
The inner radius for the ring shaped emitter when using [constant EMISSION_SHAPE_RING].
The radius for the ring shaped emitter when using [constant EMISSION_SHAPE_RING].
Particles will be emitted inside this region. See [enum EmissionShape] for possible values.
The sphere's radius if [enum EmissionShape] is set to [constant EMISSION_SHAPE_SPHERE].
If [code]true[/code], particles are being emitted.
How rapidly particles in an emission cycle are emitted. If greater than [code]0[/code], there will be a gap in emissions before the next cycle begins.
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 particle system itself.
Align Y axis of particle with the direction of its velocity.
If [code]true[/code], particles will not move on the z axis.
If [code]true[/code], particles rotate around Y axis by [member angle].
Amount of [member spread] in Y/Z plane. A value of [code]1[/code] restricts particles to X/Z plane.
If [code]true[/code], results in fractional delta calculation which has a smoother particles display effect.
Gravity applied to every particle.
Initial hue variation applied to each particle.
Each particle's hue will vary along this [Curve].
Hue variation randomness ratio.
Initial velocity magnitude for each particle. Direction comes from [member spread] and the node's orientation.
Initial velocity randomness ratio.
The amount of time each particle will exist (in seconds).
Particle lifetime randomness ratio.
Linear acceleration applied to each particle in the direction of motion.
Each particle's linear acceleration will vary along this [Curve].
Linear acceleration randomness ratio.
If [code]true[/code], particles use the parent node's coordinate space. If [code]false[/code], they use global coordinates.
The [Mesh] used for each particle. If [code]null[/code], particles will be spheres.
If [code]true[/code], only one emission cycle occurs. If set [code]true[/code] during a cycle, emission will stop at the cycle's end.
Orbital velocity applied to each particle. Makes the particles circle around origin in the local XY plane. Specified in number of full rotations around origin per second.
This property is only available when [member flag_disable_z] is [code]true[/code].
Each particle's orbital velocity will vary along this [Curve].
Orbital velocity randomness ratio.
Particle system starts as if it had already run for this many seconds.
Radial acceleration applied to each particle. Makes particle accelerate away from origin.
Each particle's radial acceleration will vary along this [Curve].
Radial acceleration randomness ratio.
Emission lifetime randomness ratio.
Initial scale applied to each particle. This can be set to a negative value to flip the particle on all axes.
Each particle's scale will vary along this [Curve].
Scale randomness ratio.
Particle system's running speed scaling ratio. A value of [code]0[/code] can be used to pause the particles.
Each particle's initial direction range from [code]+spread[/code] to [code]-spread[/code] degrees. Applied to X/Z plane and Y/Z planes.
Tangential acceleration applied to each particle. Tangential acceleration is perpendicular to the particle's velocity giving the particles a swirling motion.
Each particle's tangential acceleration will vary along this [Curve].
Tangential acceleration randomness ratio.
Particles are drawn in the order emitted.
Particles are drawn in order of remaining lifetime.
Particles are drawn in order of depth.
Use with [method set_param], [method set_param_randomness], and [method set_param_curve] to set initial velocity properties.
Use with [method set_param], [method set_param_randomness], and [method set_param_curve] to set angular velocity properties.
Use with [method set_param], [method set_param_randomness], and [method set_param_curve] to set orbital velocity properties.
Use with [method set_param], [method set_param_randomness], and [method set_param_curve] to set linear acceleration properties.
Use with [method set_param], [method set_param_randomness], and [method set_param_curve] to set radial acceleration properties.
Use with [method set_param], [method set_param_randomness], and [method set_param_curve] to set tangential acceleration properties.
Use with [method set_param], [method set_param_randomness], and [method set_param_curve] to set damping properties.
Use with [method set_param], [method set_param_randomness], and [method set_param_curve] to set angle properties.
Use with [method set_param], [method set_param_randomness], and [method set_param_curve] to set scale properties.
Use with [method set_param], [method set_param_randomness], and [method set_param_curve] to set hue variation properties.
Use with [method set_param], [method set_param_randomness], and [method set_param_curve] to set animation speed properties.
Use with [method set_param], [method set_param_randomness], and [method set_param_curve] to set animation offset properties.
Represents the size of the [enum Parameter] enum.
Use with [method set_particle_flag] to set [member flag_align_y].
Use with [method set_particle_flag] to set [member flag_rotate_y].
Use with [method set_particle_flag] to set [member flag_disable_z].
Represents the size of the [enum Flags] enum.
All particles will be emitted from a single point.
Particles will be emitted in the volume of a sphere.
Particles will be emitted in the volume of a box.
Particles will be emitted at a position chosen randomly among [member emission_points]. Particle color will be modulated by [member emission_colors].
Particles will be emitted at a position chosen randomly among [member emission_points]. Particle velocity and rotation will be set based on [member emission_normals]. Particle color will be modulated by [member emission_colors].
Particles will be emitted in a ring or cylinder.
Represents the size of the [enum EmissionShape] enum.