UE4 Scene capture dynamic cubemaps blur


#1

Hi guys :slight_smile:

Is that possible to somehow blur the cubemap generated by UE4 scene capture component?
I know what we can blend/mix a few mipmaps, but unfortunately UE4 doesnt generate mipmaps in that case :confused:
Im naively try to just add some noise to ReflectionVector to achieve some “bluriness”. That help just a little but ofcourse thats not a blur at all.

Is there any way to achieve some closed to gaussian blur for dynamic cubemaps?


#2

Easiest way, if it fits your effect,may be to set your Capture Texture’s resolution to a smaller number. Also makes it cheaper.

Here is a comparison of having my texture at 128 (Defaultish) and 16 for the Size X:


#3

Heh, yeah ) Im already pick 16-32 as, probably, maximum resolution. But unfortunately less pixels != more blurriness in fact.
My goal are good* metal material for full dynamic light. UE4 provides pretty good results for static lighting or setups with HDRI/Ambient cubemaps, but when you go to full dynamic interiors - metals start look horrible.

*Saying “good” i doesnt mean any ambitious PBR stuff.


#4

Some questions/ideas:

Are you using Reflection Captures in your level? Metal will look dark and poor if you do not.

One technique for blurring could be to pass a noisy normal map into the UVs of the Render Texture. Would be distortion instead of true blurring but could get some effect like granulated glass…

Typically in PBR having a detail noisy normal map and a similar roughness adds blurriness to metal (by distorting the normal the reflection samples from). True chrome will not have a blurry reflection in real life, you have to finely scratch it to make it blurry. Maybe seeing your material could open more suggestions.


#5

Reflection capture actor - ofcourse. Im also trying to use several, trying different settings. But they just dont work (dont work good) for dynamic lighting.

Typically in PBR having a detail noisy normal map and a similar roughness adds blurriness to metal (by distorting the normal the reflection samples from).>

Yeah. As i mentioned i trying to add distiortion by noise textures/vector noise. It helps, but it still not equivalent of blur.

Here’s a good example of the problem. Top 2 images are default UE4 reflection from reflection capture actor. Bottom 2 are material with cubemap generated by scene capture component.
As you can see we lose reflection on close range. Also we will have problems with pretty ugly blending and wierd behavior of default reflection capture system.
Yes, bottom results are not correct: we dont have shadows underneath the sphere!
But im really dont care about that sort of things. Cause anyway metal material with scene reflection capture look really nice and smooth gives eye pleasure results. In those example i use 32 cubemap size just for clarity. In real project i dont need any mirror like material.

The only problem is - blur which i need to achieve somehow.

Those screenshots from Alien Isolation game. Those metals shaders which they are use reflect real enviroment. Reflections are nice and smooth and work even in pretty dark enviroment, cause they not pitch black, just really dark. In UE4 (i again noticed that cause thats important: with dynamic light and without HDRI/ambient cubemaps) metals will fall in pitch black void :pensive: