文章目录
- 组件介绍
- Canvas
- Render Mode
- Overlay
- Camera
- World Space
- Canvas Scaler
- Reference Pixels Per Unit
- UI Scale Mode
- Graphic Raycaster
- Blocking Object
- Canvas Grope
UGUI2.0官方文档
一些基础对应控件的Attribute的含义:
Canvas相当于Android的Panel,所有的控件都需要放置在Panel上才能使用。
Attribute | 含义 |
---|---|
Instance ID | 实体的全局唯一标识ID, 由Asset产生的meta文件标识的GUID和在引擎内部的Local id共同计算,使用GetInstanceID()方法获取实体的ID |
Local Identifier In File | Local ID |
Layer | 图层的层级 |
Sort Order | 显示的层级,越低越被覆盖 |
组件介绍
Canvas
Attribute | 含义 |
---|---|
Pixel Perfect | 勾选启用抗锯齿,保持像素 |
Target Display | 对应的目标显示集 |
Render Mode
Overlay
在Overlay模式下,Canvas图层会直接覆盖在显示界面的最上层
Camera
Canvas将始终与绑定的摄像机关联,成为摄像机设定距离下的切面
World Space
Canvas将成为一个随意操作的实体。Canvas的Rect Transform属性将变为可修改。
Canvas Scaler
Attribute | 含义 |
---|---|
Scale Factor | 对Canvas内部所有实体的宽高进行缩放,Scale Factor=2则整体增大四倍,但是size属性是不变的 |
Reference Pixels Per Unit
在Unity中,Unity像素单位和实际像素单位不是完全等同的。
在图像资源的设置中的Pixel Per Unit属性下,代表了每个Unity的单元格所代表的像素数量。
如果我们将图片用于Canvas,Canvas也有一个对应的Reference Pixels Per Unit单元,代表了应用的资源在Canvas中每单元格代表的像素数量。
例如一张128*128px的图片,Pixel Per Unit=100,所占单元格=1.28*1.28,如果Reference Pixels Per Unit=100,那么1.28*1.28格对应像素就是128*128,如果修改Reference Pixels Per Unit=10,那么对应像素就是12.8*12.8。
UI Scale Mode
在Canvas Scaler 选列表下有三种模式
- Constant Pixel Size,该模式下Canvas保持像素尺寸,画布上的实体固定像素大小,不随屏幕改变自适应。
- Scale with Screen Size,实体随屏幕分辨率自适应缩放。
- Constant Physical Size,保持物理大小,和第一种类似,一般适用于保持DPI适应
Graphic Raycaster
这个组件建立在射线检测的机制之上,在Canvas中,触发事件往往是通过射线检测来判定的。与Collider碰撞体和RegidBody刚体的射线检测不同,上者的射线检测对应了Events中的Physics Raycaster,也就是直接作用在实体之上的物理射线,当物理射线检测到实体则会给实体发送一个消息。
而根据官方文档,Graphic Raycaster的特性是对Graphic图像进行的射线检测,可以设置为背向无效,同时可以被它正向前方的实体所遮挡。
Attribute | 含义 |
---|---|
Ignore Reverse Graphics | 是否忽略翻转图像,对于翻转的实体(包括了X翻转和Y翻转180度,本质上是将实体的反面朝向屏幕)将不应用射线检测 |
Blocking Object | 可进行射线遮挡的物体(一般用Canvas外的实体进行遮挡),类型包括:None(不遮挡),two D(2D物体),Three D(3D物体),ALL(所有物体),正向图像前的遮挡物体将影响Canvas中实体的射线检测 |
Blocking Mask | 遮挡蒙版,勾选中的层级代表可以遮挡,只有选中Layer中的物体才能进行遮挡 |
Blocking Object
对于Blocking Object还需要额外说明,除了上述的性质,包括实体,碰撞体,刚体等物理实体(需要区分3D或者2D)也能遮挡射线
Canvas Grope
这个组件不是一个默认组件,但是一个很重要的组件。Canvas Grope可以统一管理整个Canvas下的所有组件。
Attribute | 含义 |
---|---|
Alpha | 透明度 |
Interactable | 能否进行互动 |
Blocks Raycasts | 是否接受Graphic Raycasts |
Ignore Parent Groups | 是否忽视父级Groups的影响 |