Unity3d游戏UI设计简述
来源:
奇酷教育 发表于:
奇酷教育-unity3D培训_unity3D游戏_unity3D教程
在进行
Unity3D游戏的界面编写时,Canvas是一个很基本的工具,是用于存放所有UI元素的地方。所有的UI元素都必须是Canvas的自对象。
Canvas是一个画布,就像我们绘图用的图纸一样,所有的控件都必须在Canvas中才能被绘制出来,在其他地方则不能被绘制出来。如果场景中没有画布,那么我们创建任何一个UI元素,都会自动创建画布,并且将新元素置于其下。
在Canvas上进行绘制时,首先我们要知道,画布上的图形绘制顺序。
1、对于处于同一个层次的组件来说,先创建的组件先绘制,后创建的组件后绘制。
2、当控件处于父子关系时,先绘制子物体,再绘制出父物体。
其次,在一个场景中,Canvas的数量和层级都没有限制。父子Canvas用的是相同的渲染模式。
Canvas的三种渲染模式如下:
Screen Space - Overlay(覆盖模式):画布填满了整个屏幕,并把所有的UI元素放在了屏幕的最上层。如果屏幕的尺寸改变,画布也会自动改变尺寸来匹配屏幕。典型例子:大量窗口、文本和按钮的策略游戏。
Screen Space-Overlay模式的画布有Pixel Perfect和Sort Layer两个参数:
(1)Pixel Perfect:只有RenderMode为Screen类型时才有的选项。使UI元素像素对应,效果就是边缘清晰不模糊。
(2)Sort Layer: Sort Layer是UGUI专用的设置,用来指示画布的深度。
Screen Space - Camera:与上一种情况类似。但摄像机在画布的前方,看起来绘制在一个与摄像机固定的平面上。这种模式可以用于在UI上显示3D模型。典型例子:射击游戏屏幕上的 3D HUD。
相关参数:
(1)Render Camera:渲染摄像机
(2)Plane Distance:画布距离摄像机的距离
(3)Sorting Layer: Sorting Layer是UGUI专用的设置,用来指示画布的深度。可以通过点击该栏的选项,在下拉菜单中点击“Add Sorting Layer”按钮进入标签和层的设置界面,或者点击导航菜单->edit->Project Settings->Tags and Layers进入该页面。
可以点击“+”添加Layer,或者点击“-”删除Layer。画布所使用的Sorting Layer越排在下面,显示的优先级也就越高。
(4)Order in Layer:在相同的Sort Layer下的画布显示先后顺序。数字越高,显示的优先级也就越高。
World Space:画布与其他对象相同,类似于一个plane。当UI为场景一部分,可以使用该模式。例子:游戏内的手机屏幕、与场景绑定的游戏指导等。