首先UI渲染模式默认为Screen Space -Overlay即UI总是渲染在最前面,由于3D物体不是UI控件,直接在canvas上加一个3D物体还是会只渲染在UI之后
若想要3D物体显示在UI之前,就得把渲染模式改成Screen Space -Camera
然后用单独的一个camera来专门渲染UI,并且主摄像机不再渲染UI,深度比主摄像机要大,再把Clear Flags换成depth only,保留主摄像机渲染的内容。
最后在Canvas上添加想要显示在UI前的3D物体即可。
这样主摄像机能看到的都会显示在UI之后,在UI中添加的3D物体可以显示在UI之前