前言
中山大学数据科学与计算机学院3D游戏课程学习记录博客。
游戏代码: gitee
参考师兄的博客: 师兄博客
游戏视频:bilibili
游戏要求
血条(Health Bar)的预制设计。
具体要求如下:
- 分别使用 IMGUI 和 UGUI 实现;
- 使用 UGUI,血条是游戏对象的一个子元素,任何时候需要面对主摄像机;
- 分析两种实现的优缺点;
- 给出预制的使用方法。
游戏设计
UGUI实现血条
UGUI就是使用UI组件来生成、控制血条,主要用到了Cube对象下的Canvas和Slider.
首先需要创建Cube对象,然后右键->UI->Canvas.
然后右键Canvas->UI->Slider创建出Slidre对象,Slider对象就是血条。
Slider对象
观察上图中Slider对象的组成,可以发现有三个部分:
- Background,表示Slider的背景颜色;
- Fill Area,表示Slider的填充内容;
- Handle Slide Area,表示那个白色的大球球。
尝试改变Slider样式,首先删去Handle Slide Area的内容,因为我觉得这个大球球不好看,效果如下:
可以看到大球消失了。
通过Background来更改血条背景颜色,改为黄色,效果如下:
通过Fill Area中的Fill来更改填充区域为红色,效果如下:
填充长度通过什么决定呢?是通过Slider里的Value值来决定的,拖动Value效果如下:
在程序中,只需要改变Value值就可以控制血条的填充了!
血条位置
血条位置可以通过更改Canvar属性下的Reader Mode来决定:
共有三种: