Particles

A ParticleSystem emits small squares that face the camera, move, fade and die: smoke, sparks, dust.

Settings

FieldMeaning
RateParticles per second, as a steady stream
BurstsA number of particles at a time in the round
Looping, DurationRound and round, or once for Duration seconds
LifetimeMin, LifetimeMaxHow long each lives, in seconds
SpeedMin, SpeedMaxHow fast each leaves
Direction, SpreadWhich way they leave, and how many degrees off it. 180 is every way
RadiusThey start within this distance of the entity
Gravity1 is the world's, 0 none, negative makes them rise
StartColor, EndColorColour over each particle's life. Fade the alpha to 0 to make them vanish
StartSize, EndSizeSize over each particle's life
BlendAdditive adds light, for fire and sparks. Alpha covers what is behind, for smoke
TextureThe picture on each. Unset, a soft round dot

Sparks, an additive particle system

Every field is listed in Components.

Colours above 1 bloom.

Tuning

Particles play while you edit, so a system can be tuned by eye in the viewport.

From a script

Lua
TypeScript
local particles = self.Entity.ParticleSystem
particles:Burst(30)   -- a puff, now

A common pattern is a prefab with a system that does not loop and has one burst. A script places it where something happened and destroys it a second later:

Lua
TypeScript
Scene.Instantiate(self.BurstPrefab, position):Destroy(1.5)

Colours are set as a Vec3 with how solid they are beside them:

Lua
TypeScript
particles.StartColor = Vec3(4, 2, 1)
particles.EndAlpha = 0
particles.Blend = "Additive"