A CPU-based 2D particle emitter. CPU-based 2D particle node used to create a variety of particle systems and effects. See also [GPUParticles2D], which provides the same functionality with hardware acceleration, but may not run on older devices. $DOCS_URL/tutorials/2d/particle_systems_2d.html Sets this node's properties to match a given [GPUParticles2D] node with an assigned [ParticleProcessMaterial]. Returns the [Curve] of the parameter specified by [enum Parameter]. Returns the maximum value range for the given parameter. Returns the minimum value range for the given parameter. Returns the enabled state of the given flag (see [enum ParticleFlags] for options). Restarts the particle emitter. Sets the [Curve] of the parameter specified by [enum Parameter]. Sets the maximum value for the given parameter. Sets the minimum value for the given parameter. Enables or disables the given flag (see [enum ParticleFlags] for options). Number of particles emitted in one emission cycle. Each particle's rotation will be animated along this [Curve]. Maximum initial rotation applied to each particle, in degrees. Minimum equivalent of [member angle_max]. Each particle's angular velocity will vary along this [Curve]. Maximum initial angular velocity (rotation speed) applied to each particle in [i]degrees[/i] per second. Minimum equivalent of [member angular_velocity_max]. Each particle's animation offset will vary along this [Curve]. Maximum animation offset that corresponds to frame index in the texture. [code]0[/code] is the first frame, [code]1[/code] is the last one. See [member CanvasItemMaterial.particles_animation]. Minimum equivalent of [member anim_offset_max]. Each particle's animation speed will vary along this [Curve]. Maximum particle animation speed. Animation speed of [code]1[/code] means that the particles will make full [code]0[/code] to [code]1[/code] offset cycle during lifetime, [code]2[/code] means [code]2[/code] cycles etc. With animation speed greater than [code]1[/code], remember to enable [member CanvasItemMaterial.particles_anim_loop] property if you want the animation to repeat. Minimum equivalent of [member anim_speed_max]. Each particle's initial color. If [member texture] is defined, it will be multiplied by this color. Each particle's initial color will vary along this [GradientTexture1D] (multiplied with [member color]). Each particle's color will vary along this [Gradient] (multiplied with [member color]). Damping will vary along this [Curve]. The maximum rate at which particles lose velocity. For example value of [code]100[/code] means that the particle will go from [code]100[/code] velocity to [code]0[/code] in [code]1[/code] second. Minimum equivalent of [member damping_max]. Unit vector specifying the particles' emission direction. Particle draw order. Uses [enum DrawOrder] values. Sets the [Color]s to modulate particles by when using [constant EMISSION_SHAPE_POINTS] or [constant EMISSION_SHAPE_DIRECTED_POINTS]. 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 rectangle's extents if [member emission_shape] is set to [constant EMISSION_SHAPE_RECTANGLE]. Particles will be emitted inside this region. See [enum EmissionShape] for possible values. The sphere's radius if [member emission_shape] is set to [constant EMISSION_SHAPE_SPHERE]. If [code]true[/code], particles are being emitted. [member emitting] can be used to start and stop particles from emitting. However, if [member one_shot] is [code]true[/code] setting [member emitting] to [code]true[/code] will not restart the emission cycle until after all active particles finish processing. You can use the [signal finished] signal to be notified once all active particles finish processing. 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 example, 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. If [code]true[/code], results in fractional delta calculation which has a smoother particles display effect. Gravity applied to every particle. Each particle's hue will vary along this [Curve]. Maximum initial hue variation applied to each particle. It will shift the particle color's hue. Minimum equivalent of [member hue_variation_max]. Maximum initial velocity magnitude for each particle. Direction comes from [member direction] and [member spread]. Minimum equivalent of [member initial_velocity_max]. Amount of time each particle will exist. Particle lifetime randomness ratio. Each particle's linear acceleration will vary along this [Curve]. Maximum linear acceleration applied to each particle in the direction of motion. Minimum equivalent of [member linear_accel_max]. If [code]true[/code], particles use the parent node's coordinate space (known as local coordinates). This will cause particles to move and rotate along the [CPUParticles2D] node (and its parents) when it is moved or rotated. If [code]false[/code], particles use global coordinates; they will not move or rotate along the [CPUParticles2D] node (and its parents) when it is moved or rotated. 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. Each particle's orbital velocity will vary along this [Curve]. Maximum orbital velocity applied to each particle. Makes the particles circle around origin. Specified in number of full rotations around origin per second. Minimum equivalent of [member orbit_velocity_max]. Align Y axis of particle with the direction of its velocity. Particle system starts as if it had already run for this many seconds. Each particle's radial acceleration will vary along this [Curve]. Maximum radial acceleration applied to each particle. Makes particle accelerate away from the origin or towards it if negative. Minimum equivalent of [member radial_accel_max]. Emission lifetime randomness ratio. Each particle's scale will vary along this [Curve]. Maximum initial scale applied to each particle. Minimum equivalent of [member scale_amount_max]. Each particle's horizontal scale will vary along this [Curve]. [member split_scale] must be enabled. Each particle's vertical scale will vary along this [Curve]. [member split_scale] must be enabled. Particle system's running speed scaling ratio. A value of [code]0[/code] can be used to pause the particles. If [code]true[/code], the scale curve will be split into x and y components. See [member scale_curve_x] and [member scale_curve_y]. Each particle's initial direction range from [code]+spread[/code] to [code]-spread[/code] degrees. Each particle's tangential acceleration will vary along this [Curve]. Maximum tangential acceleration applied to each particle. Tangential acceleration is perpendicular to the particle's velocity giving the particles a swirling motion. Minimum equivalent of [member tangential_accel_max]. Particle texture. If [code]null[/code], particles will be squares. Emitted when all active particles have finished processing. When [member one_shot] is disabled, particles will process continuously, so this is never emitted. Particles are drawn in the order emitted. Particles are drawn in order of remaining lifetime. Use with [method set_param_min], [method set_param_max], and [method set_param_curve] to set initial velocity properties. Use with [method set_param_min], [method set_param_max], and [method set_param_curve] to set angular velocity properties. Use with [method set_param_min], [method set_param_max], and [method set_param_curve] to set orbital velocity properties. Use with [method set_param_min], [method set_param_max], and [method set_param_curve] to set linear acceleration properties. Use with [method set_param_min], [method set_param_max], and [method set_param_curve] to set radial acceleration properties. Use with [method set_param_min], [method set_param_max], and [method set_param_curve] to set tangential acceleration properties. Use with [method set_param_min], [method set_param_max], and [method set_param_curve] to set damping properties. Use with [method set_param_min], [method set_param_max], and [method set_param_curve] to set angle properties. Use with [method set_param_min], [method set_param_max], and [method set_param_curve] to set scale properties. Use with [method set_param_min], [method set_param_max], and [method set_param_curve] to set hue variation properties. Use with [method set_param_min], [method set_param_max], and [method set_param_curve] to set animation speed properties. Use with [method set_param_min], [method set_param_max], 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 particle_flag_align_y]. Present for consistency with 3D particle nodes, not used in 2D. Present for consistency with 3D particle nodes, not used in 2D. Represents the size of the [enum ParticleFlags] enum. All particles will be emitted from a single point. Particles will be emitted in the volume of a sphere flattened to two dimensions. Particles will be emitted on the surface of a sphere flattened to two dimensions. Particles will be emitted in the area of a rectangle. 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]. Represents the size of the [enum EmissionShape] enum.