DoF or Blur Sprites

v_i_m
Tue, 26 Jun 2018 17:56:38 +0000
Rendering

Is there a way to add DoF or Blur to sprites? High quality blur, art controllable.

You know, like Limbo. Blur affects sprites based on depth. They also have a vignette blur… The vignette blur or masking a blur post pass was trivial to implement in Unity. I haven’t tried DoF. But generally speaking, blurred background sprites are common in platformers… I guess usually blurred in Photoshop? There are a few games out there that use blur as a post process though. Like Limbo and Hollow Knight.

All I managed to do in Unreal so far is a total mess… blurring the translucent model based on depth seems to be imposible. So I tried changing the lighting model to Opaque or anything else… Nothing. I can blur either all sprites, or none, but not based on depth. If I bring a cube in the scene all works well on 3D geometry.

So I thought of using a blur shader, like a piece of glass I could place in front of sprites. And something I’d be able to mask, with gradients for example. One solution seems to be using TemporalAA, which is incompatible with 2D sprites. Also very slow to render. Another one was using some render to texture I think… which was forcing re-rendering the whole scene. So also inefficient. Someone mentioned using a shder that forces low mipmaps… only that’s low quality blur, and not art directable.

I’m using a perspective camera btw, and I was hoping that most things that apply to 3D could also apply to 2D… I mean can’t we DoF smoke and foliage in the backgroud? Why would 2D sprites be different from any textured billboard?

Anyway, can this be done in Unreal?
Cheers!

7 posts - 4 participants