【UGUI学习笔记】Canvas

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的影响

猜你喜欢

转载自blog.csdn.net/milu_ELK/article/details/131608070