UE5 - attempting to recreate Elden Ring blur effect

Hello,

I’ve noticed this very nice looking blur in a variety of effects in Elden Ring and I’ve been trying to achieve this in unreal engine ever since

(not sure how to embed imgur videos here. Sorry)
https://imgur.com/a/m04ogAm

I’m assuming this is done on translucent shader used on a sprite (red line marks the sprite colliding with the geometry on first image).

Based on this thread I made a material which uses SceneColor node instead of SceneTexture to create this radial blur.

Well, it… works. But it doesn’t allow me to blur any translucent objects (SceneColor doesn’t seem to see them) and isn’t nearly as smooth as it is in the reference (maybe increasing samples amount could fix it).

At this point I’m out of ideas. I don’t think this can be done with refraction but maybe I’m just using it wrong.

Scene Color has only Opaque data. You can’t sample transparent pass while you are drawing a transparent pass.
I have two ideas either they apply blur on opaques as you did and then apply the same blur directly in particle material or they are using some sort of masked post process which is rendered after a transparency.

But keep in mind that Elden Ring is made on custom engine so their rendering pipeline looks diiferent than Unreal’s. They can have some custom solution for this.

The idea of blurring the opaques and particles separately popped into my head after i posted this. I tried it, the result wasn’t exactly satisfying and I ended up with tons of texture samplers in the particle shaders to achieve the blur - it’s probably not worth it this way.

Other than that I just don’t know. Maybe it just isn’t doable in unreal

This code sample that you showed (if I understand it correctly) is making 11 Texture Samples of Scene Color. That’s the basic way of doing blur, probably not the most efficient.

If it’s not the engine’s built in motion blur you could blur the sprite sheets themselves on their fast movement frames.

Actually looking at the video, the whole sprite blurs the background even where there is no smoke in the area so that’s a hint. Now you’ve got me curious about how they are implementing that blur effect.

Ok I got the idea that it’s kind of like shockwave distortion without movement so I threw something together. Ideally you would use a better normal map so the blur is not as grainy - I just multiplied the tex coords as a temp fix. Anyway here’s a link:
https://imgur.com/a/xWnCe3f

and here’s some pics:


1 Like

There is no way to get Scene Color include translucent objects. Some game with engine programmer would customize the unreal engine to achieve this.

As for non-programmer, our best bet is to use post-process material just as the blur material shared by Tomura on UE forum. To limit the area of the blur by a scene object and occlude the blur by other scene objects, you can use any mesh invisible from the main pass, with Custom Depth enabled and set a specific Custom Stencil ID (preferably uncheck “cast shadow”), then do a depth test between Custom Depth (minus a very small number) and Scene Depth in the blur material. Finally multiply the manual depth test with the blur result.

Admittedly this method is quite messy and inconvenient to utilize, but maybe we can petition Epic to return the “scene color with translucent objects” back to UE5. (Scene Color did include translucent objects in the earlier version of UE4 but made obsolete due to “performance concern”.)

I don’t think distortion is the way to go. It is nice to get a shockwave effect in some explosions, I’ve done that. But it won’t result in anything similar to this motion

Well, I suppose that’s the only solution and I agree it’s very messy. It seems like they got rid of translucent objects in scene color in 4.17. It would be very nice to have it back in UE5 as an optional feature.

Yeahhh I did some further experiments using different normal maps (blurred starburst looking flares) thinking I could get something closer to the image, inadvertently created a cool effect but none of it was getting the desired blur as I imagined it would. So you’re probably right it doesn’t seem like distortion is the way to go.

Now I need to know haha.

Hi,
I was looking for a similar solution and came across this post. I came from Unity, where its super easy to get blurred scene color from G-Buffer, but in UE…
Elden Ring G-Buffer heavily relies on dithering (almost everything here have it! crazy) and have TAA so I assumed that they used it also to blur stuff (they have DOF so there is some blurring capabilities in engine, maybe they mix both).

Here is my quick solution.

Refraction with dithering


obraz
I threw in some super simple transparent boxes in the background to show how it mixes with translucency (don’t forget to set before DOF in shader! it forces sorting before refraction).


Dithering looks better in-game thanks to TAA so it should look better in movement :wink:
I hope it helps! Cheers!

6 Likes