I wonder about the best approach for screen-spaced effects for explosions, impacts, and aftershocks. Noticed them in many games, I’m talking about the local radial blur-like effect. Here are two references:
In this one, light particles have trails similar to radial blur, but they are too consistent, I thought that this many samples for a screen space radial blur could lead to performance issues, maybe they used a different approach?
In this example looks like a regular radial blur is used, but still, this is a kinda expensive screen space effect, and I wonder how they managed to add it without impacting the performance.
Usually these kinds of effects require some amount of engine support to do optimally.
In the Path of Exile 2 example there appears to be two things happening. One is a basic gaussian blur, likely leveraging some existing passes used for blooming and/or depth of field. On top of that they may be doing some basic screen space distortion, or a few seconds before the timestamp you have there’s a different effect that has a more vertically aligned blur.
This makes me think they’re doing this effect more like motion blur where they have an accumulation buffer of screen space vectors, then do the blur at a low resolution and composite back in. They also appear to allow you to have pre-blur particles and post-blur particles as some are getting blurred and some are not.
In another higher quality video, we can see that while the gaussian blur itself is high quality, the actual directional blur is only using 7 samples, so the gaussian blur and screen resolution play a big factor in making the effect look good. Also, they always use it only for very short bursts.
So it’s possible the directional blur is part of the particle effect’s shaders itself, but the gaussian blur is definitely not.
For Elden Ring, I suspect there really is just a similar blur pass going on, and the rest is a combination of basic distortion, some liberal abuse of motion vectors to add motion blur, and slight of hand with the particles to make it look like there’s more radial blur than there is. That style of radial burst glow is extremely common in their effects and happens extremely often, so it’s definitely another of those things they spent time implementing an engine level effect for.
As for how to do this on your own without having it be something built in, that’s harder, but still plausible. If you have access to a scene texture that you can sample, you can do a blur on that. Some engines will have mip maps for that texture as well that you can abuse to get a bit of extra blur out of for free. But there’s no getting around the fact you’re just going to have to sample that texture several times in some direction to get what you want, and that can be very slow if you want it to be high quality. So you have to pick some relatively low number (like the 7 samples PoE2 uses) to get something fast enough to use. And you have to be judicious in its use to try and avoid multiple overlapping effects using it as without the benefit of an accumulation buffer they’ll just stomp on each other and not look very good. Fading the edge of the effect using blue noise dithering rather than alpha can help that if it’s unavoidable.