ParticleEmitter
Fire, sparks, dust and magic. Particles that scrub exactly, glow, light the room around them and show in path traced reflections.
A ParticleEmitter under a Part emits from inside its box along its +Y, spread by SpreadAngle; under a NullObject it emits from a point. Nothing is simulated: it draws as if it had been playing for Time seconds, so the same Time always looks the same. Rate, Lifetime, Speed, Size, Color and Transparency shape the particles, a Texture can be a flipbook, and Brightness above 0 lights the scene. For bursts, add an EmissionPoint or call emitter:Emit(count).
Properties
Motion
| Name | Type | Default | Description |
|---|---|---|---|
| Acceleration | Vector3 | 0, 0, 0 | |
| Drag | number | 0 0 to 100 | |
| LockedToPart | boolean | false | Like Roblox's: off, each particle stays where it was born as the part moves; on, everything rides the part. |
| RotSpeed | NumberRange | 0, 0 | |
| Rotation | NumberRange | 0, 0 | |
| Speed | NumberRange | 5, 5 | |
| SpreadAngle | Vector2 | 15, 15 | Under a Part, particles leave along the part's +Y, spread by this angle. |
Light
| Brightness | number | 0.1 0 to 1000 | Each live particle is a light this bright, times its size and opacity. |
| LightColor | ColorSequence | [[0.0,1.0,1.0,1.0],[1.0,1.0,1.0,1.0]] | The colour of the particles' light over each particle's life. |
| LightInheritColor | boolean | false | Lights with each particle's own Color instead of LightColor. |
| LightRange | number | 8 0 to 60 |
Appearance
| Color | ColorSequence | [[0.0,1.0,1.0,1.0],[1.0,1.0,1.0,1.0]] | Each particle's colour over its life. |
| LightEmission | number | 0 0 to 1 | How particles blend: alpha blending at 0, additive at 1. |
| Size | NumberSequence | [[0.0,1.0,0.0],[1.0,1.0,0.0]] | The particles' size; its Envelope adds a random plus or minus per particle. |
| Texture | any | 1, 1, 1 | The image each particle shows; with none, particles are soft round dots. |
| Transparency | NumberSequence | [[0.0,0.0,0.0],[1.0,1.0,0.0]] | The particles' transparency; its Envelope adds a random plus or minus per particle. |
| ZOffset | number | 0 -1000 to 1000 | Slides each particle toward the camera (positive) or away, keeping its size on screen; it changes only what it draws in front of. |
Emission
| Enabled | boolean | true | |
| Lifetime | NumberRange | 1, 2 | |
| Rate | number | 20 0 to 10000 | How often particles are born: particle k is born at time k / Rate. |
| Seed | number | 1 | Each particle's lifetime, spawn point, direction, speed and spin are picked from the Seed. |
| Time | number | 2 0 to 1e+06 | Draws the particles as if the emitter had been playing for this many seconds; the same Time always looks the same. |
Flipbook
| FlipbookFramerate | NumberRange | 1, 1 | Flipbook frames per second, picked per particle from the range. |
| FlipbookLayout | string | "None" None, Grid2x2, Grid4x4, Grid8x8 | Cuts the Texture into a grid of cells, read left to right, top to bottom. |
| FlipbookMode | string | "Loop" Loop, OneShot, PingPong, Random | How the cells play: OneShot spreads the frames over the particle's life, Random picks a new cell each frame step. |
| FlipbookStartRandom | boolean | false | Starts each particle on a random cell. |
Methods
| Name | Arguments | Returns | Description |
|---|---|---|---|
| Emit | (particleCount: number?) | EmissionPoint | Makes an EmissionPoint at the emitter's current Time and returns it; count is 16 when left out. |
