Graphics.DrawMeshInstanced and AO issue

Hi~

Here is my dev env:
Win10
Unity 2020.3.14f1
BuildIn Pipeline

In my scene, generate the terrain, then I put some tree models(use Graphics.DrawMeshInstanced()).

Now, the tree model looks like transparent, the post process’s AO mask on it.
(Tree’s material is Standard,opaque,with image texture)

If I change camera’s Render Path from Farword to Deferred, all works fine. But I need Forward rending.

How can I fix it? Thank you!!!

8161721--1061306--微信图片_20220527225309.png

By using a different AO effect - builtin AO is the culprit there. With that said, if you are drawing your trees after the final depth/normals texture, that will cause an issue with any AO effect, as it needs that depth/normals data to create the occlusion from.

1 Like

Thank you!
I sovled it in BuildIn Pipline. (Change main camera to deferred rendering)

Now, I’m struggle in URP. AO dosen’t work at GPU instance. I think that the problem is URP forward rendering.

1 Like