UGUI
Unity Graphical User Interface,Unity图形用户界面,Unity4.6以后加入的界面显示系统。
Canvas画布
画布,绘制UI元素的载体,实际上是一个绑了Canvas的游戏对象。所有UI元素必须在Canvas之下。UI元素的绘制顺序依赖于层次面板中的顺序。
画布相当于屏幕
设计UI时,最好在Sence面板选中2D,选中第五项。
使用E改变大小时改变的是Scale,修改大小时使用Width和Height
属性
Render Mode渲染方式
- Screen Space-Overlay覆盖模式
在这个模式下画布填满整个屏幕,UI元素一定在屏幕最上层,会盖住3D物体,因为Unity在这个模式UI是独立渲染的,Unity先渲染3D物体,再渲染UI,画布尺寸由屏幕大小和分辨率决定。在此模式下屏幕坐标和世界坐标重合。 - Screen Space-Camera摄像机模式
在这个模式下,画布需要绑定一个摄像机,画布被绘制在一个与摄像机固定距离的平面上,绘制效果受摄像机参数影响,画布尺寸由屏幕大小和分辨率决定。摄像机会显示画布前的物体,不显示画布后的。其中Plane Distance属性表示画布平面距离摄像机的距离。
画布一般不设置主摄像机,因为主摄像机移动时会带动UI移动,消耗性能,所以还会有个UI摄像机。主摄像机负责渲染3D会运动物体,UI摄像机负责渲染UI,UI摄像机的Depth设置大于主摄像机(不设置UI就不会在物体上面),Clear Flags设置为Depth only只渲染看到的(不设置就只会显示UI摄像机画面),Mask设置为只显示UI(不设置Game面板就会同时有主摄像机画面的和UI摄像机画面,可能同时出现两个物体),主摄像机Mask设置为不显示UI,这样3D物体运动时,UI界面不会动,是独立出来的。 - World Space世界空间模式
在这个模式下,画布被视作与场景中其他普通游戏对象性质相同的类似一张面片(Plane)的对象。画布的尺寸可以通过Rect Transform设置,所有UI元素可能位于普通3D物体的前面或者后面显示。当UI为场景的一部分时,可使用这个模式。例如贴在物体上的文字。
Pixel Perfect完美像素:若勾选,则会锐化屏幕显示效果。
Sort Order渲染顺序:在多个Canvas中,值越大越渲染到最上层。
同一个画布中下面的盖住上面的,不同的画布中取决于Sort Order 或Order in Layer
Rect Transform矩形变换
派生自Transform,在UGUI控件上替代原有变换组件,表示一个可容纳UI元素的矩形。
属性
Pos:控件轴心点相对于自身锚点的位置。
Anchor锚点:物体会根据锚点的位置来对屏幕做自适应,当选定一种锚点后,该锚点为UI元素的坐标原点。
Pivot轴心点:移动、旋转与缩放都围绕轴心点发生变化,0,0为左下顶点,1,1为右上顶点。
函数太多了,用的时候查RectTransform和RectTransformUtility吧。