在上一篇文章中我们只是初步了解了这个游戏层次构造的一部分,今天我们继续上一章的内容吧。
Enemy 两个enemy本质上没有差别,所以就其中一个来说说吧
Enemy_Turret:这个初始场景的boss,一个站桩型敌人,当选中其根物体后我们可以看见如图:
![](https://img-blog.csdnimg.cn/8b6e1c245f3f4a27a6090f829c82b7de.png)
其根物体下第一个既是这个敌人的预制件,第二个是他的血条,第三个是一个挂载了检测玩家的空物体。
所以,我们可以得出,一个基本的可互动的敌人至少需要有一个模型(让你能看得见),一个血条(让你能打的),以及一个交互脚本,所以就官方例子来说,敌人已经足够简化了。
Path是其中一个敌人的巡逻路径,此处就不展开了(后面脚本会提及)。
PICKUP :可捡拾的道具,通过触发器交互或者物理交互(取决于自己),依然是一个模型加一个交互检测脚本。
关卡设置此处也不多赘述,可根据自己的想法构造一个。
然后就是GENERAL部分了
(1) GameManager也是同样是一个根物体,负责事件统一管控和类型整合:
其结构是这样的:
![](https://img-blog.csdnimg.cn/ca5947f197b94af8967560cf0bae57a3.png)
首先是第一个:EndGameFadeCanvas 一个死亡的时候的淡出画面,就是一张黑色的Image,通过改变颜强度来实现(如果不太理解的话,可以修改他的Image中颜色来观察,例如下一张图)
![](https://img-blog.csdnimg.cn/715d25bb690a454fbea2b26975529e3b.gif)
![](https://img-blog.csdnimg.cn/0b19b63b5cdf44b1b0ea07daa41811a4.png)
如图,我将颜色改成了红色,再来观察一下改变了什么
![](https://img-blog.csdnimg.cn/b6288a5867ab446e8f21a6d3858bbb00.gif)
第二个:GameHUD
其下包括了两个主要部分,第一个就是FeedBackFlashCanvas,主要为状态反馈,其作用与上面的淡出效果一样,一个是受打击时反馈,一个是血量低时反馈(此处为了凸显效果改为了亮色),这里直接贴图。
![](https://img-blog.csdnimg.cn/db6a67aab72a46c3963136838a33d255.gif)
![](https://img-blog.csdnimg.cn/526b80dbe6e04e4ba6bcb4540585ec05.gif)
HUD:第一个WeaponHUDManager,管理武器的,有多个武器时在指定的区域罗列出武器
第二个,Crosshair,枪的准星和边框
第三个,Compass,方向和敌人显示,如图(敌人为脚本判定写入,原组件只含方向)
![](https://img-blog.csdnimg.cn/2915df29200a404b90b3e03c36d800a2.png)
第三个,FramerateConunter,就是帧数显示器
第四个和第五个还有第六个都在下面这张图上,红笔(NotificationsRect),绿笔(ObjectivesRect),蓝笔(DispalyMessageRect)
![](https://img-blog.csdnimg.cn/73be4d8d4bc84cd6b6428a9d924f8a52.png)
第七个,ButtonLeftCorner 就是这个![](https://img-blog.csdnimg.cn/dd7b27d5088c46fd8a850e979c2def65.png)
然后剩下的最后一个就是游戏中的暂停菜单
![](https://img-blog.csdnimg.cn/9b6c7c68cadb4394866417d40e0e9d17.png)
ObjectiveKillEnemies:其挂载了一个脚本,显示的就是游戏开场时的任务描述
![](https://img-blog.csdnimg.cn/11de90646b39447b9abb7f57d95df4b9.png)
NavMeshSurface:这是官方的寻路系统NavMeshManager,具体可以查看官方文档,此处是利用寻路系统标记可行走地面以及限制。
到此算是整个案例的基本的层次结构大都了解了,剩下的就是最重要的脚本了,下一期我们就从我们的主角Player的控制讲起吧。