Download

Post Process Material and Translucency

Hey,

I have a post process material and I need some help understanding how it works with translucency.

The post process material is fairly simple. Basically, there’s a mask that is applied to the world, and fragments are rendered as completely white (and with no lighting) where the value of the mask is 1.

Here’s an overhead shot of what that looks like:

Now, the issue is with translucency. As you can see, there is an ocean in this scene, which is translucent. When this translucent ocean surface is in front of fragments that are white (in this case, the ones of the landscape), only the fragments of the opaque object are rendered.

The image below shows what I actually want, but demonstrated by modifying the ocean’s material separately rather than using the post process material. Here the water can be seen all the way beyond the cube, which is what I want, but I want to achieve it with the post process material above.

Pretty sure this is a fairly simple issue and I’m just overlooking something obvious in regards to translucency sorting, but any help is appreciated.

If the sort priority of the ocean is 1, and the sort priority of the post process material is 2 (which is on an object so it’s another component to consider in the priority rendering), then the post process being translucent should reveal the ocean according to the mask (any value less than 1). Is there another object between the ocean and ‘landscape’ post process material? such as a fog actor, and/or a post process volume? If so, it could be dampening the effect of the mask or sorted in front of it (in camera looking down at the ocean perspective) because it contains some aspect of translucency. Or the mask is not rendering at the correct scale of opacity.

Is the ocean using that post process material or is the landscape?

The ocean’s (which is the Community Ocean Project) sort priority is by default set to -1. There’s no object in between it and the underlying landscape.

The post process material is used in a global post process volume, so it’s applied to everything.