Create a Real-Time VFX Impact
The brief
Build a 0.6-second impact: flash, debris, dust and a decal. It must read clearly at gameplay camera distance, cost under 0.5ms GPU per instance, and never exceed 200 live particles.
Starter assets
One emissive flipbook or a soft circular gradient, one debris mesh, one dust texture. Build everything else from parameters.
Performance budget
- 0.5ms GPU per instance or less at 1080p.
- 200 live particles maximum across all emitters.
- No translucent layer covering more than 20% of the screen.
Engine instructions
Milestones
Nail the timing skeleton
Before any art, block the effect with untextured shapes on a strict timeline: flash 0-80ms, debris 20-500ms, dust 60-600ms, decal persistent.
Flash and core
Add the bright core with a fast attack and a slower decay. Use additive blending and keep it small — the flash sells the hit, not the size.
Debris with believable motion
Emit mesh debris in a cone, with drag and gravity. Choose semi-implicit Euler / default solver behaviour and substep only if it tunnels through the floor.
Dust that does not eat the frame
Add a small number of large, soft dust sprites with low opacity. Measure the translucent coverage and reduce sprite size or count until inside budget.
Ground decal and settle
Add a projected decal that fades in over the dust and persists. Ensure it does not pop in before the flash.
Profile and document
Capture the effect with 1, 10 and 30 simultaneous instances. Record GPU ms and particle counts for each, then write the breakdown.