Previously, you worked with particles that played continuously, like smoke from a volcano. Particles can also be used in a single burst, such as explosions. This tutorial will show you how to create a trap that emits a burst of particles and kills a player.
Emitter Setup
The explosion will use a ParticleEmitter with some changed properties that will create a burst.
Design a dangerous looking trap. Then, insert a ParticleEmitter named Explosion into the part.
Create an electric spark effect using these properties.
Property Value Description Texture rbxassetid://6101261905 Electric spark texture. Drag 10 How fast particles lose speed. Lifetime 0.2, 0.6 Makes explosion particles exist for a short time. Speed 20, 40 Compensates for the short lifetime. SpreadAngle 180, 180 Fires particles in all directions. So the trap doesn't emit particles constantly toggle Enabled to off.
Testing Particle Bursts
To test the particle burst, you can use a Studio plugin developed by Roblox.
Go to the Marketplace page for the Emit() Plugin Plugin. On that page, click the Install button.
When Studio opens, the plugin should install automatically.
Select the Explosion emitter and notice the plugin UI that appears in the top left of the game window. In the number box, type 100 (the amount of particles to emit) and press Enter.
Press the Emit button to test the emitter.
Color and Transparency
Some extra steps can make the explosion look more impressive.
Open the sequence window for the emitter's Color by clicking the three dots next to the property. Then, create keypoints in the window to make a color gradient.
For Transparency, use a number sequence that increases transparency over a smooth curve to show a gradual fade out.
A finished particle effect may look like below.
Script Setup
With the emitter complete, the explosion can now be played through a script. The script works by checking for players touching the trap. Whenever it detects someone, the particles will emit and the player will die.
In the trap part, add a new Script named PlayExplosion.
Set up variables to store the part and emitter. Then, include a variable named EMIT_AMOUNT that stores the number of particles emitted per explosion.
local trapObject = script.Parentlocal particleEmitter = trapObject.Explosionlocal EMIT_AMOUNT = 100Code an event to check if a Humanoid touches the part. If so, set that humanoid's health to 0, forcing them to respawn.
local trapObject = script.Parentlocal particleEmitter = trapObject.Explosionlocal EMIT_AMOUNT = 100local function killPlayer(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenhumanoid.Health = 0endendtrapObject.Touched:Connect(killPlayer)
Play the Explosion
In scripts, particles are emitted using the Emit() function. This creates a one-time burst of a number of particles.
Call the Emit() function and pass in EMIT_AMOUNT, the variable created earlier.
local trapObject = script.Parentlocal particleEmitter = trapObject.Explosionlocal EMIT_AMOUNT = 100local function killPlayer(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenhumanoid.Health = 0particleEmitter:Emit(EMIT_AMOUNT)endendtrapObject.Touched:Connect(killPlayer)Test the script by walking into the trap.
With just a few changes to the example in this tutorial, you can create a variety of different effects. Some alternatives include sparkles for gathering collectable objects, or explosions to indicate a projectile's impact.