UGUI画布(Canvas)组件参数踩坑

UGUI画布(Canvas)组件参数踩坑
1.Screen Space – overlay 此模式不需要UI摄像机,UI将永远出现在所有摄像机的最前面。–某些开发者对其的解释
这是个坑:RenderMode: screen Space-Overlay这里如果画布没有父节点则永远显示在摄像机前。
UGUI画布(Canvas)组件参数踩坑UGUI画布(Canvas)组件参数踩坑
如果给画布一个父节点之后,这个画布上的UI就随着父节点的位置改变而改变,如果父节点移出了摄像机的可视区域,那么这个画布上的UI就会在game视图里消失。
UGUI画布(Canvas)组件参数踩坑UGUI画布(Canvas)组件参数踩坑UGUI画布(Canvas)组件参数踩坑
上面是画布的父节点位置为(0,0,0)时的位置
当我把画布的父节点(这里指的是CanvasFather)的位置设为(600,60,0)时,这个画布上的UI会随着父节点的变化而变化
UGUI画布(Canvas)组件参数踩坑UGUI画布(Canvas)组件参数踩坑UGUI画布(Canvas)组件参数踩坑
这里说明一下,我的画布宽高是1280*720的所以,CanvasFather移动X=600左右画布上的UI就能到边界,当canvasFather的x>640或者x<-640画布上的UI就都会移出Game视图之外。
所以:
Screen Space – overlay 此模式不需要UI摄像机,UI将永远出现在所有摄像机的最前面。
这句话中的后半句:UI将永远出现在所有摄像机的最前面。不太对,应该是当ui的画布没有父节点的时候出现在所以摄像机的最前面。
如果有父节点的话,UI出现的位置和父节点的位置相关。PS:UI还是会最后才渲染到所有3D物体前面。也就是这样的UI前面不会有3D模型和粒子特效(因为加不上去233333)。

PS:有父节点的Canvas上的UI位置和父节点的位置和旋转都有关系,这一点大家可以自己测试,我就不上图了。