Unity官方FPS教程解析(二)

在上一篇文章中我们只是初步了解了这个游戏层次构造的一部分,今天我们继续上一章的内容吧。

Enemy 两个enemy本质上没有差别,所以就其中一个来说说吧

     Enemy_Turret:这个初始场景的boss,一个站桩型敌人,当选中其根物体后我们可以看见如图:

 其根物体下第一个既是这个敌人的预制件,第二个是他的血条,第三个是一个挂载了检测玩家的空物体。

所以,我们可以得出,一个基本的可互动的敌人至少需要有一个模型(让你能看得见),一个血条(让你能打的),以及一个交互脚本,所以就官方例子来说,敌人已经足够简化了。

Path是其中一个敌人的巡逻路径,此处就不展开了(后面脚本会提及)。

PICKUP :可捡拾的道具,通过触发器交互或者物理交互(取决于自己),依然是一个模型加一个交互检测脚本。

关卡设置此处也不多赘述,可根据自己的想法构造一个。

然后就是GENERAL部分了

(1) GameManager也是同样是一个根物体,负责事件统一管控和类型整合:

其结构是这样的:

首先是第一个:EndGameFadeCanvas 一个死亡的时候的淡出画面,就是一张黑色的Image,通过改变颜强度来实现(如果不太理解的话,可以修改他的Image中颜色来观察,例如下一张图)

 

 如图,我将颜色改成了红色,再来观察一下改变了什么

 第二个:GameHUD

其下包括了两个主要部分,第一个就是FeedBackFlashCanvas,主要为状态反馈,其作用与上面的淡出效果一样,一个是受打击时反馈,一个是血量低时反馈(此处为了凸显效果改为了亮色),这里直接贴图。

 HUD:第一个WeaponHUDManager,管理武器的,有多个武器时在指定的区域罗列出武器

第二个,Crosshair,枪的准星和边框

第三个,Compass,方向和敌人显示,如图(敌人为脚本判定写入,原组件只含方向)

 第三个,FramerateConunter,就是帧数显示器

第四个和第五个还有第六个都在下面这张图上,红笔(NotificationsRect),绿笔(ObjectivesRect),蓝笔(DispalyMessageRect)

 第七个,ButtonLeftCorner 就是这个

 然后剩下的最后一个就是游戏中的暂停菜单

ObjectiveKillEnemies:其挂载了一个脚本,显示的就是游戏开场时的任务描述

NavMeshSurface:这是官方的寻路系统NavMeshManager,具体可以查看官方文档,此处是利用寻路系统标记可行走地面以及限制。

到此算是整个案例的基本的层次结构大都了解了,剩下的就是最重要的脚本了,下一期我们就从我们的主角Player的控制讲起吧。

猜你喜欢

转载自blog.csdn.net/qq_51443004/article/details/127460501
今日推荐