Back to Tech Art

UE5 Screen Space Particle Dissolve

A screen-space dissolve effect with particle bursts for stylized character deaths. It's pretty straightforward technique-wise - expanding circle dissolve using step functions, particles projected onto the mesh bounds. Simple approach but effective visually, and performance stays reasonable even from different camera angles.

Unreal EngineNiagaraMaterialsVFX
Screen space particle dissolve effect

Table of Contents

Screen Space Bounds

I generate screen space bounds based on the world space bounds. Get the mesh's bounding box, do min/max operations to find the extents, then project that to screen coordinates. This gives me the rectangle on screen where the character appears, which I use for both the dissolve and particle spawning.

Expanding Circle Dissolve

For the dissolve, I set a local position near the character's center - I kind of eyeballed where the middle is and set the value. Then I expand outward like a growing circle.

The math is comparing each pixel's local coordinate against an increasing threshold using a step function. As the value increases, more pixels fail the step test and return 1, making them disappear. It's like the circle keeps growing and everything inside it vanishes.

To avoid a clean cut, I add noise with adjustable tiling to break up the edge. This gives it that organic, dissolving look instead of a hard geometric shape.

Particle Projection

For the particles, I spawn them from the screen bounds and project them onto the mesh using dot product. This gives cleaner results than the alternative of spawning directly from mesh triangles.

I actually experimented with triangle-based spawning, but the particle placement ends up uneven - not as smooth or clean. The bounds projection method gives more consistent distribution, which looks better when the effect plays out.

Assets & Integration

The models are from Unreal Engine free assets - I don't own them and didn't make them. Most of these assets have VFX input functions built into their materials, which is great for pipeline work. I can plug my effect in without touching the original material.

When I do need to make changes, I duplicate the material and edit the copy. Never touch the source.

Like all my effects, it looks simple but the technique is solid. I tested from different camera angles to make sure performance stays reasonable. Pretty straightforward approach overall, but it gets the job done and looks good in action.

Tech Stack

Step Function

Dissolve mask

Min/Max Bounds

Screen projection

Dot Product

Particle placement

Noise Tiling

Edge breakup