考慮了很多方案,比如渲染次序和mask(stencilebuffer)
渲染次序
sorting order(深度) renderer都有的屬效能開放出來,sprite renderer原本就開放在inspector裡面了
https://unity3d.com/cn/learn/tutorials/topics/2d-game-creation/sorting-layers
render queue 在shader裡面設定
https://docs.unity3d.com/ScriptReference/Rendering.RenderQueue.html
https://docs.unity3d.com/ScriptReference/Material-renderQueue.html
https://docs.unity3d.com/462/Documentation/Manual/SL-SubshaderTags.html
command buffer 在pp後面自己畫
https://docs.unity3d.com/Manual/GraphicsCommandBuffers.html
最後發現用camera 一個掛pp一個不掛 , 不要pp的obj用不掛的camera layer畫
不掛pp的camera depth值大一些在前面就ok了 unity很強大
這說明它管線做的相當碎了comman buffer