For the last week I’ve been trying to find a way to have one post-processing volume affect all of the 3D objects in the scene, and another volume which will only be applied to the UI.
For example, let’s say that I want the 3D view to be blurred using a Depth of Field effect, and I do NOT want this on the UI. On the UI, maybe a text component for example, I want to apply a bloom effect.
I’ve read every unity forum post I can find and I’ve tried everything I can think of, including the following:
-
Custom Render Passes - this can allow some things to be drawn after the post-processing is done, but then I have no way to apply a fullscreen post-processing affect after this. (as far as I know). Correct me if I’m mistaken.
-
Separate cameras with different culling and volume layer masks. This seems like it should work, but it doesn’t…The second camera ends up rendering over the first and applying its own affects to everything, regardless of whether those things are in the culling/volume layer masks on the second camera.
I considered drawing the UI to a custom render texture and implementing my own post processing on that, then drawing that over the normal camera, bit I’m not sure this is possible, and if it is, I don’t know how to go about it.
This seems like something that would be a very common use case in most games (applying different post-effects on different things), so I’m not sure how this was overlooked or why it has been made as difficult as it has been. This is seriously making me consider abandoning HDRP and going back to the standard pipeline or another engine…
If anyone has figured out some way to do this, please let me know. Thank you.