Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

GPUParticles3D

Inherits: GeometryInstance3D < VisualInstance3D < Node3D < Node < Object

A 3D particle emitter.

Description

3D particle node used to create a variety of particle systems and effects. GPUParticles3D features an emitter that generates some number of particles at a given rate.

Use the process_material property to add a ParticleProcessMaterial to configure particle appearance and behavior. Alternatively, you can add a ShaderMaterial which will be applied to all particles.

Tutorials

Properties

int

amount

8

float

collision_base_size

0.01

DrawOrder

draw_order

0

Mesh

draw_pass_1

Mesh

draw_pass_2

Mesh

draw_pass_3

Mesh

draw_pass_4

int

draw_passes

1

Skin

draw_skin

bool

emitting

true

float

explosiveness

0.0

int

fixed_fps

30

bool

fract_delta

true

bool

interpolate

true

float

lifetime

1.0

bool

local_coords

false

bool

one_shot

false

float

preprocess

0.0

Material

process_material

float

randomness

0.0

float

speed_scale

1.0

NodePath

sub_emitter

NodePath("")

bool

trail_enabled

false

float

trail_lifetime

0.3

TransformAlign

transform_align

0

AABB

visibility_aabb

AABB(-4, -4, -4, 8, 8, 8)

Methods

AABB

capture_aabb ( ) const

void

convert_from_particles ( Node particles )

void

emit_particle ( Transform3D xform, Vector3 velocity, Color color, Color custom, int flags )

Mesh

get_draw_pass_mesh ( int pass ) const

void

restart ( )

void

set_draw_pass_mesh ( int pass, Mesh mesh )


Signals

finished ( )

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

Note: Due to the particles being computed on the GPU there might be a delay before the signal gets emitted.


Enumerations

enum DrawOrder: