I really fought this for the longest time and have a sort of work around to this very clear bug. Here are some points to guide you through it.
-
What is missing and needed - a dedicated post process blend node or parameter named a specific way for the shader editor to connect to the Post Process Volume.
-
What’s happening behind the scenes - When using a material instance for a post process, any scalar params that are “ticked on”, meaning overwritten, will be factored by (array weight * blend weight * normalized blend radius). This is where the bug lies. IMO it should not do this at all, as it makes common shader functions with premade parameters no longer useful. So for example, if you have a UV modifier exposed in your material and in the instance being used, that scalar or vector is ticked on, that value will be factored by the blend formula, resulting in a bug. If it’s left ticked off (grayed-out default value) the post process volume blend formula will have no effect on it.
-
What you can do instead - Instead of exposing anything, expose only one param for your blend at the end of your material. It can be named anything you like. I use “Blend” for clarity though. Any values that you would like exposed, set those in Material Parameter Collections instead. I started packaging MPCs with PP Materials. It’s just easier.
EDIT - I’ve commented on UDN about this and it sounds like at some point in the near future, we’ll get dedicated post process nodes in the shader editor for the blending.
I hope this helps devs out.
Cheers!