版本:2018\3\14
Screen Space - Overlay
Screen Space-Overlay(屏幕控件-覆盖模式)的画布会填满整个屏幕空间,并将画布下面的所有的UI元素置于屏幕的最上层,或者说画布的画面永远“覆盖”其他普通的3D画面,如果屏幕尺寸被改变,画布将自动改变尺寸来匹配屏幕
该模式下的一些属性:
Pixel Perfect:UI元素精确到像素对齐,边缘更清晰,但是在UI调整和适配时会有更大的计算量
Sort Order:多个Canvas存在时,该值大的会覆盖小的
Screen Space - Camera
Screen Space-Camera(屏幕空间-摄影机模式)和Screen Space-Overlay模式类似,画布也是填满整个屏幕空间,如果屏幕尺寸改变,画布也会自动改变尺寸来匹配屏幕。所不同的是,在该模式下,画布会被放置到摄影机前方。在这种渲染模式下,画布看起来 绘制在一个与摄影机固定距离的平面上。所有的UI元素都由该摄影机渲染,因此摄影机的设置会影响到UI画面。在此模式下,UI元素是由perspective也就是视角设定的,视角广度由Filed of View设置
这种模式可以用来实现在UI上显示3D模型的需求,比如很多MMO游戏中的查看人物装备的界面,可能屏幕的左侧有一个运动的3D人物,左侧是一些UI元素。通过设置Screen Space-Camera模式就可以实现上述的需求
属性:
Render Camera:选择相机
Plane Distance:相机与画布距离
Sorting Layer:在所选相机下,该画布所在的渲染层级,下面的层级覆盖上面的层级
Order in Layer:Sorting Layer相同时该值大的覆盖小的
World Space
World Space即世界控件模式。在此模式下,画布被视为与场景中其他普通游戏对象性质相同的类似于一张面片(Plane)的游戏物体。画布的尺寸可以通过RectTransform设置,所有的UI元素可能位于普通3D物体的前面或者后面显示。当UI为场景的一部分时,可以使用这个模式。
它有一个单独的参数Event Camera,用来指定接受事件的摄像机,可以通过画布上的GraphicRaycaster组件发射射线产生事件。
这种模式可以用来实现跟随人物移动的血条或者名称
属性:
上面都说过了
----------------------------------------------------------------------------------------------------------下面是Canvas Scaler的三种模式
Constant Pixel Size
使UI元素保持相同的像素大小,无论屏幕尺寸如何变化
Scale With Screen Size
使UI元素随着屏幕的变大而变大
Constant Physical Size
使UI元素保持相同的物理大小,而不考虑屏幕分辨率和大小(不常用)
参考博客:https://www.cnblogs.com/msxh/p/6337338.html
https://www.jianshu.com/p/660a513e7d41
有关相关应用可以看第一篇
有错误欢迎指出