"Set Cubemap Blend" not working correctly in reflections

There is a very noticeable pop in reflections as soon as the cubemap blend reaches 1 or 0. Everything in-between is blending smoothly and if I only had to blend between two cubemaps, I would just stay between 0.01 and 0.99. Even though 0.99 is not even close to a 99% blend, it looks more like something around 75%.

But the bigger issue comes from working with 3 or more maps, since there is no opportunity to switch cubemaps without one of them reaching 100%.

Hi Efrye,

This is mentioned in the documentation for the Cubemap Blend Node here: Set Cubemap Blend | Unreal Engine Documentation

-Tim

Hey Tim, thanks for the reply.

Are you referring to this part?

The caller should continue to update
the blend until BlendFraction is 0 or
1 to reduce rendering cost. The caller
is responsible for avoiding pops due
to changing the source or destination.

I’m not quite sure what to make of that, because I can’t reach a BlendFraction of 0 or 1 without a pop. To be clear, the pop doesn’t occur when I switch out the source or destination map. It occurs whenever I reach a BlendFraction of 0 or 1.

In both of the screenshots above, I’m using the same two cubemaps. Yet the reflections look completely different even though the BlendFraction is only 0.00001 off.

I tried this on a new empty project (4.12.5 launcher version). Used starter pack cubemap with a flat red colored cubemap and a chrome material on a sphere so I could better see the blending. Also tried it on a translucent material as well.

After 0.001 or 0.999 it completely changes the cubemaps and I can see no popping. Difference between 0.997 and 1 don’t even register on my eyes.

What is your material setup? Is it happening on a really reflective chrome material for example?

Thanks for checking it out, Chariots.

I’m on 4.12.5 as well and I’m using the starter content glass and chrome material for testing (the ones on the statue). But it appears to be happening on pretty much any reflective material.

I uploaded a project with only a sky light blueprint, two cubemaps and the aforementioned statue. When I change the BlendFraction on the blueprint to 1.0, I get a pop in the reflections.

Download Sample Project (2 MB)

Just tried your project. Can confirm it happens. It happens if opacity is above 0 on Translucent blend mode with shading model set to Default lit or Subsurface. All other shading models work fine with translucent blend.

I guess I didn’t test translucent mats properly after testing a chrome material. My apologies.

I checked this against 4.8, 4.10 and 4.12.5 and this looks like it’s expected behavior.

You can try using this video tutorial for transitioning between your cubemaps and setting the value from 0 to .99999 for the timeline value. When a translucent actor hits 0 to 1 it will show this pop between the two.

Unfortunately, switching cubemaps during a blend fraction of 0.99999 still results in a pop, since it’s not actually using 99.999% of the target cubemap. At least not in the reflections.

Even at 0.99999, the influence of the source cubemap is still very large, so switching it out results in a noticeable difference.

But thanks for looking into this either way. If it has been around since 4.8, I suppose the chances for a fix are rather slim. I’ll try to work around this issue by using more cubemaps and few reflective materials, so the pop isn’t quite as pronounced.

Wouldn’t it working with everything else but translucent materials be a bug with translucent materials though?

Yeah this is a bug for us as well, I don’t understand how this is useful not blending all the way. 0.99999 should be almost 1 not some drastic jump or this is useless if you have more that 2 cubemaps. This was our workaround as rebaking a lighting cubemap causes a hiccup during run time and we want several different lighting maps throughout the day and night and this blend would be an acceptable work around if it did not pop.