Separate Post-Process color grading for VFX in Unreal Engine

Hello guys!

I was digging into this subject for a while and didn’t really find anything about this.

So, is there any way to separate PP Volumes for VFX and Volumes that affect the environment and etc. from each other? Cuz I am trying to fight the problem of Filmic Tone-Mapper that is set by default in the engine that eats the “true” srgb colors I pick for stylized VFXes.

In this example above, I’ve made a test on what happens if I change a couple of parameters in PP Volume. It gives me the results I want, but It also affects everything else that inside this volume.

So yeah, my question is if there is any way I can apply it separately without affecting color grading on the rest of the picture. Or does it require digging into some depth\stencil masks?

I am just trying to get really nice and saturated colors for VFX and UE kinda feels like a pain in the ars about it.

Thanks in advance for any input on this!

2 Likes

Unfortunately I don’t think this is possible. You could stencli it out, but I assume this will create all kinds of issues as you would need to put all your vfx into CustomDepth stencils, and that might interferre with other things.
One solution might be, to add some kind of color correction / gamma correction to all of your VFX materials. That way you can counter compensate for what your regular post process is doing.
An example of a similar technique can be found here, counter-compensating EyeAdaption:

4 Likes

There’s one way I had theorized, but never attempted. Each shader model is represented as a different color that you can get, so I considered adding a new shader to the engine (even if it was just a duplicated version of what’s already there) and then having one PP material that masks out that shading model, and a second that masks out every shading model but that vfx-specific one, and then doing your color grading, emissive values, etc. for both. However, since you can’t control the actual important stuff like bloom values and contrast in the material, you would need two separate PP volumes in addition to the two separate materials, which would be twice as expensive.

I’d like to stress, I don’t actually know if this would work how I’m hoping it would, it’s been more of a theory-crafted idea so far, but it’s possible it could work. If you know you are only going to use Translucent for VFX, and everything else in your scene is going to be Masked or Opaque, then you wouldn’t need a new separate shading model.

If anyone actually knows this method won’t work, feel free to set me straight!