大家好,我是孙广东。 转载请注明出处:http://write.blog.csdn.net/postedit/38922399
更全的内容请看我的游戏蛮牛地址:http://www.unitymanual.com/forum.php?mod=guide&view=my
UI系统允许您快速、直观地创建用户界面(Ui)。这是Unity的新 UI 系统的主要功能介绍。
一、UI Overview概要
在这篇概述中,我们就去通过 UI系统的基础知识。我们将开始介绍Canvas(画布)并将所有 UI 元素都放在里面,和使用Rect Tool和Rect Transform进行UI元素排版。然后我们来看看视觉元素像Text和Image,和交互控件,如Button按钮和Slider滑块。
1、Canvas
Canvas画布是摆放容纳所有的 UI 元素的区域。画布是一个游戏对象上的某个Canvas component组件,所有的 UI 元素必须是这个画布的子对象。
当您想创建新的 UI元素,如Image,那么就单击菜单创建:GameObject > UI > Image或者Hierarchy面板中Create->UI->Image,同时一个画布也自动的创建,如果在场景中已经存在一个画布。那么新建的UI元素Image被创建之后就直接作为这早就存在的画布上。
画布区域被显示为一个矩形在场景视图中。这使得它易于定位 UI元素,在任何时候都可以看到,不需要有游戏视图。
画布上有一个Render模式设置:screen space(overlay/Camare) 或 world space,可以设置render方式。
1.1 Screen Space - Overlay
这种渲染模式下,在场景中UI元素被渲染在屏幕上。如果屏幕大小改变或更改了分辨率,画布上将自动更改大小,以很好的相匹配。
UI in screen space overlay canvas
1.2 Screen Space - Camare
这是类似于Screen Space - Overlay,但在这个渲染模式下,画布被放置在指定的Camera前的一个给定的距离上。通过这个指定的摄像机UI元素被呈现出来,这意味着Camera settings会影响到UI的显示。如果将相机设置为Perspective,UI元素将在perspective下被呈现,perspective失真数可以被控制通过设置观看的Camera Field大小。如果屏幕调整的大小或更改分辨率或相机锥范围变化,画布上将自动更改大小,以及相匹配。
UI in screen space camera canvas
1.3 World Space
此渲染模式下使画布在场景中表现任何其他对象。可以手动使用其Rect Transform来设置画布的大小,和UI元素将会呈现在其他对象的前面或后面在基于 3D 配置的场景中。这是对于所有Ui是有用的,他们是world space的一部分,有时也被引用为剧情接口。
备注:该模式下,可将UI绑定到游戏物体上。通常用来做血条等。
UI in world space canvas