Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

CPUParticles2D

Inherits: Node2D < CanvasItem < Node < Object

A CPU-based 2D particle emitter.

Description

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.

Tutorials

Properties

int

amount

8

Curve

angle_curve

float

angle_max

0.0

float

angle_min

0.0

Curve

angular_velocity_curve

float

angular_velocity_max

0.0

float

angular_velocity_min

0.0

Curve

anim_offset_curve

float

anim_offset_max

0.0

float

anim_offset_min

0.0

Curve

anim_speed_curve

float

anim_speed_max

0.0

float

anim_speed_min

0.0

Color

color

Color(1, 1, 1, 1)

Gradient

color_initial_ramp

Gradient

color_ramp

Curve

damping_curve

float

damping_max

0.0

float

damping_min

0.0

Vector2

direction

Vector2(1, 0)

DrawOrder

draw_order

0

PackedColorArray

emission_colors

PackedVector2Array

emission_normals

PackedVector2Array

emission_points

Vector2

emission_rect_extents

EmissionShape

emission_shape

0

float

emission_sphere_radius

bool

emitting

true

float

explosiveness

0.0

int

fixed_fps

0

bool

fract_delta

true

Vector2

gravity

Vector2(0, 980)

Curve

hue_variation_curve

float

hue_variation_max

0.0

float

hue_variation_min

0.0

float

initial_velocity_max

0.0

float

initial_velocity_min

0.0

float

lifetime

1.0

float

lifetime_randomness

0.0

Curve

linear_accel_curve

float

linear_accel_max

0.0

float

linear_accel_min

0.0

bool

local_coords

false

bool

one_shot

false

Curve

orbit_velocity_curve

float

orbit_velocity_max

0.0

float

orbit_velocity_min

0.0

bool

particle_flag_align_y

false

float

preprocess

0.0

Curve

radial_accel_curve

float

radial_accel_max

0.0

float

radial_accel_min

0.0

float

randomness

0.0

Curve

scale_amount_curve

float

scale_amount_max

1.0

float

scale_amount_min

1.0

Curve

scale_curve_x

Curve

scale_curve_y

float

speed_scale

1.0

bool

split_scale

false

float

spread

45.0

Curve

tangential_accel_curve

float

tangential_accel_max

0.0

float

tangential_accel_min

0.0

Texture2D

texture

Methods

void

convert_from_particles ( Node particles )

Curve

get_param_curve ( Parameter param ) const

float

get_param_max ( Parameter param ) const

float

get_param_min ( Parameter param ) const

bool

get_particle_flag ( ParticleFlags particle_flag ) const

void

restart ( )

void

set_param_curve ( Parameter param, Curve curve )

void

set_param_max ( Parameter param, float value )

void

set_param_min ( Parameter param, float value )

void

set_particle_flag ( ParticleFlags particle_flag, bool enable )


Signals

finished ( )

Emitted when all active particles have finished processing. When one_shot is disabled, particles will process continuously, so this is never emitted.


Enumerations

enum DrawOrder:

DrawOrder DRAW_ORDER_INDEX = 0

Particles are drawn in the order emitted.

DrawOrder DRAW_ORDER_LIFETIME = 1

Particles are drawn in order of remaining lifetime. In other words, the particle with the highest lifetime is drawn at the front.


enum Parameter:

Parameter PARAM_INITIAL_LINEAR_VELOCITY = 0

Use with set_param_min, set_param_max, and set_param_curve to set initial velocity properties.