Unity基础.006游戏中的用户界面(UI)

来源:互联网 发布:三年经验程序员薪资 编辑:程序博客网 时间:2024/06/08 15:19
游戏除了主要的游戏场景外,还需要一些抽象交互和信息显示,这些抽象的交互被称为UI,更具体而言就是GUI。GUI指的是界面的可视化部分,例如文本和按钮。

任何软件都需要一些UI用于让用户控制软件,但在一个游戏中,UI(例如文本和按钮)通常是覆盖在游戏视图上,这被称为HUD显示。

平视显示(HUD,heads-up display)
使得图形叠加在世界视图上,这个概念源于军用飞机,目的是为了让飞行员不低头就能看到重要信息。
类似的,GUI像HUD一样叠加在游戏视图上。

直接模式
在每帧显式发出绘制命令,通过OnGUI()方法,每个MonoBehaviour自动响应,在每帧渲染完成3D场景后执行。
示例:
void OnGUI()
{
     if(GUI.Button(new Rect(10,10,40,20),"Test"))
     {
     Debug.Log("Test button");
     }
}
保留模式
Unity中有一套基于2D图形的界面系统,被称为uGUI,基于保留模式工作,相比直接模式,uGUI在放置UI元素时就能看到当前UI的外观,使得绘制UI更直接。

uGUI介绍:
Canvas
Unity中用于为游戏渲染UI的一类特殊对象,创建canvas时,会自动创建EventSystem,对于UI交互,这个是必须的,但是你可以忽略它。
Render Mode中,有三种设置:
Screen Space-Overlay,将UI渲染为摄像机视图顶部的2D图形(默认)
Screen Space-Camera,也是将UI渲染在摄像机视图顶部,但UI元素可以进行透视效果的旋转
World Space,将画布放置在场景中,就好像UI是3D场景的一部分
勾选Pixel Perfect会让渲染轻微调整图像的位置,使图像完全清晰和锐利(反之,在像素之间定位时会模糊它们)

anchor
所有UI对象都有锚点(anchor),锚点是一种在UI中灵活定位对象的方式。

可以输入一个精确的数值来设置锚点,但使用Anchor Presets已经足够满足我们的需求。
对象的锚点是对象附加到画面或屏幕的点,它决定了计算对象的位置所依赖的点,锚点能同时调整缩放和位置。

uGUI之中还有一些常用的button(按钮)、slider(滑动条)、input field(输入框)等等就不一一介绍了,在Unity之中尝试一下很容易掌握。
0 0
原创粉丝点击