Post Process Blend Weight acts as Boolean, no fade in/out

Well, after 5 hours of researching various threads and posts, I’ve exhausted myself trying to come up with a solution, and so I must ask for assistance.

I’m using UE4.12.5.

I’m creating an infinite hallway in one direction, and in order to hide the teleport I need to fade the background to a solid color. It’s an extremely harsh transition without the ability to fade in the post process effect.

You can see my setup here:

The blueprint above holds the Post Process and a trigger box. When the player enters the box it would fade in the Post Process effect shown below using the timeline and a float track.

Here’s the fade out material I used:

Here’s screenshots of the issue:

But no matter what values are set, it acts as a Boolean, only on/off.

Okay I just spent another hour doing research before posting. I think I narrowed down the problem.

I tested blend weight and blend radius on a simple post process volume (I just made the screen tint blue) and it worked flawlessly.

So it seems the problem is more specifically located in the Blendables Array weight. I found threads with a similar issues:

Any solutions? If I’ve been unclear or can provide any additional information that may be useful, please let me know. This post was my last resort :frowning:

Thanks in advance.

Hello MetricZero,

I have been running some tests and am not getting the same results you are reporting. I believe the issue you are experiencing has to do with your set up. Essentially if you want to blend from one post process volume to another with a clean linear fade, you need to have and unbound (global post process), and a bound post process volume.

You would then want to move towards the bound post process volume, and either use the Blend Radius to blend linearly to the bounding box, or use the Blend Weight to blend from 0 to 1 while inside the bounds. Below is an example of the scene I tested with the results of my blending.

Blend Weight 0.0

Blend Weight 0.5

Blend Weight 1.0

Notice how I am inside the volume, it has a higher priority than the Unbound Post Process volume, and when sliding the Blend Weight, I get a gradual and linear change between the Unbound effect and the Bound effect.

Post Process Material

For my material I simply multiply the scene by a color to get the color shifts. I then instance my material and assign a unique instance into the blendable for each volume. Now I am free to use the Blend Radius, Blend Wight, or the Color Overlay scalar parameter to properly blend in the desired effect/color.

Let me know if you have further questions or need additional assistance.

Thank you,

1 Like

I was able to replicate this, thank you very much. The problem was not having a second Post Process Global Volume.

But a new problem came about in how my material is set up. I don’t know how to fix the material to get the effect that I’m after. Do you have any advice?

If not I understand and very much appreciate the help you’ve given me already.

Basically the player is able to explore rooms down a hallway, and if he runs too far it transitions into endless hallway mode. In order to hide the seamless teleport back to an earlier part of the hall, I need a sort of bubble that fades in and obscures the distant view. That’s what I was trying to accomplish with the fade to white post processing material effect I had going on in the photos. Basically a value of 0.1 is the screen is almost entirely white, then 1 is the desired effect. Maybe if I reverse the effect and go from 1 to 0.1…

Thanks.

Okay, consider this issue resolved.

For anyone that might stumble upon this in the future, the solution was to literally set the choke volume in my material instance to an absurd amount and use the timeline to count from 1 down to 0.01.

All you need to do is place an Unbound Post Process Volume in your level with a 0.0 for it’s Priority. Then create another Post Process Volume with it’s bounds surround the area in which you wish to have the infinite hallway, and set its priority to 1.0.

Here is where you can start to control how you wish to fade in the effect. For the best control over your fade, you would want to utilize both the Blend Radius and Blend Weight.

What you could do is set the Blend Weight of your bound volume to a low value like 0.25, and then set the Blend Radius to 1500 (distance in unreal units from the current player’s location). Then as you move closer to the volume, the effect begins to blend to the 0.25 value. Once the player has entered the volume, you could just run a check for overlapping actors, and blend the Blend Weight along a Timeline over a duration of your choosing.

I would also take a look at our documentation found in the link below as there are some helpful tips and pieces of advice approaching post processing which you will find invaluable.

[Post Process Materials][2]

Thanks for the upvote and let me know if you have further questions.

I ran into the same problem, but in the editor. The sliders to blend/fade Post Process Materials inside the Post Process Volume Details panel acted as Boolean (0 = off, !0 = full effect) on most of my Post Process Materials.

220009-pp-slider-bool.png

I read _[this part of the documentation a couple of times][2] _

The difference between both setups is the default value specified on the material (scalar or vector) parameters. The good setup has values that make the pass appear to not have any effect (e.g. multiply with white or lerp with 0).

and finally figured out how to get the Slider and general PP-Material Blending to work:

  • You need a Post Process Material and it’s Instance. You drop the INSTANCE into the Array in the PP-Volume.
  • In your Material, right before the output, you need a blend/lerp with the vanilla source as first Input, all your Post Process Effects as second input and the Alpha as parameter SET TO DEFAULT ZERO 0.0. Effectively turning the whole effect OFF
  • In your Instance you then push this parameter back to 1.0 for full effect
  • aaaand voila you can use the Post Process Volume Blend Weight and the per Material Slider in the Blendables array and (I guess) in your Blueprints.

[rant] This is a usability nightmare [/rant] While experimenting with PP Materials I noticed that some other Scalar Parameters magically hooked themselves to the blend weight. I have yet to figure out the pattern, because they are neither 0 to 1 ranges, nor default to 0.0, nor did they influence the Vanilla Input at all (And I don’t even want the #%&$ blend weight to control my texture scale parameter!) … So there are other ways to get the blend weight going correctly…

6 Likes

Thank you so much!! After hours of trying I was able to get the effect I was after by following the exact steps you’ve listed up.

WOW, how do U research it. Read source code? Good Job!

Hi!

I ma trying to get a blend between the 2 post processing volumes which have different global illumination methods (one has Lumen and the other one has Standalone ray traced) in Unreal Engine 5. Setting up one unbound post processing volume with 0 priority and one bounded postprocessing volume with 1 priority and assigning them both the the blend weight of 0.5 without using any post processing materials didn’t work. And I can’t understand how to create an appropriate material to blend such thing.

Can anybody help please?

Thank you.

As someone else stated; I’m in disbelief that you found this kind of solution to this incredibly hard to parse problem. I found this thread and your “hack” after I tried to lerp the weight of the PPM in cpp to fade in and out a PPM during gameplay (different player states). It faded out fine between 1.0 and 0.1, but between 0.1 and 0.0 parts of the material became more visible again, before clipping out at 0.0. Adding a hacky lerp right before output, setting a parameter as 0 in the material and 1 in the instance enabled the weight lerp to work as expected.

THANK YOU and GOOD RIDDANCE.