Render Mode
Canvas的Render mode有三种:Screen Space - Overlay、Screen Space - Camera、World Space。
Screen Space - Overlay
官方解析:
Render at the end of the scene using a 2D Canvas.
个人总结:
这个模式的Canvas永远显示在scene的最上层,Canvas的“RectTransform”会被锁定,Canvas的宽高会保持和屏幕的宽高一致。Canvas的位置会保持相对屏幕静止,而且只能添加2d对象。
附带参数:
Pixel Perfect:一个UI素材本身的像素对应屏幕上一个像素,一般UI出现锯齿,可以通过这个解决,会消耗更多的性能;
Sort Order:用来决定不同的Canvas的层级。(其他RenderMode的Canvas没有这个属性)
Screen Space - Camera
官方解析:
Render using the Camera configured on the Canvas.
个人总结:
Canvas的“Rect Transform”会被锁定,Canvas的宽高会保持和屏幕的宽高一致。但这个模式下的Canvas必须挂一个Camera,Canvas的具体显示情况根据Camera的属性变化。能添加3D对象到Canvas上被渲染。
附带参数:
Render Camera:负责渲染此Canvas的Camera;
Plane Distance:Canvas距离Camera的数值
Sorting Layer:编辑Canvas所属的显示层,越下方的层显示越前面
Order in Layer:Canvas下的对象的显示顺序,该值越高显示越前面
World Space
官方解析: Render using any Camera in the scene that can render the layer.
个人总结:
把物体当作世界座标中的平面(GameObject),也就是当作3D物件,显示3D UI,可以和其他GameObject公用一个Camera。
附加参数:
Event Camera:用来指定接受事件的摄像机,可以通过画布上的GraphicRaycaster组件发射射线产生事件。