3D游戏设计作业8:UI系统

1,作业要求
血条(Health Bar)的预制设计。具体要求如下

1,分别使用 IMGUI 和 UGUI 实现
2,使用 UGUI,血条是游戏对象的一个子元素,任何时候需要面对主摄像机
3,分析两种实现的优缺点
4,给出预制的使用方法

2,设计思路
1,IMGUI实现
用HorizontalScrollbar(水平滚动条)的宽度作为血条的显示值
给空对象添加脚本IMGUIHealthControl.cs即可
3D游戏设计作业8:UI系统
2,UGUI实现
创建对象Characters并重命名为Ethan,添加Canvas子对象。
给Canvas添加朝向主摄像机脚本LookAtCamera.cs和血条的控制器HealthControl.cs
添加一个Cube,添加碰撞检测脚本CubeCollide.cs
3D游戏设计作业8:UI系统
3,分析两种实现的优缺点
IMGUI 在修改模型,渲染模型这样的经典游戏循环编程模式中,在渲染阶段之后,绘制 UI 界面无可挑剔,而且新手 UI 入门容易,帮助新手理解引擎的游戏循环。
UGUI用代码控制,而且使用的是面向对象的思维,可以个性化定制。

4,给出预制的使用方法
在Project窗口新建文件夹Resources,在Resources里面新建文件夹Prefabs。
然后将Ethan里面的Canvas对象拖曳到Prefabs里面制作成预制体,重命名为UGUI_HealthBar,将IMGUI_HealthBar也拖曳下来。
使用Prefabs里面的UGUI_HealthBar预制*作血条:给Ethan添加LoadResources.cs脚本
使用Prefabs里面的IMGUI_HealthBar预制*作血条:在Hierachy窗口添加一个空对象Main,添加脚本LoadResources.cs。
最终运行效果是与没有使用预制体的时候是一致的。