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

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的控制讲起吧。

Unity官方FPS教程解析(二)相关推荐

  1. Unity官方FPS教程解析(一)

    在刚接触Unity的时候学习官方教程时下载导入过官方FPS教程,但是由于什么都不懂所以光是看着整个层次面板都觉得难受

  2. Unity官方FPS教程(三)

    咱今天开始从脚本来解析具体的功能实现以及一些技巧 如图: 这是当前所有脚本所在文件夹,其类别也以及分好了,这期我们就先从最基础的角色控制相关脚本开始吧. 打开Scripts/Gameplay/Mana ...

  3. Unity官方实例教程 Roll-a-Ball(二)

    Roll-a-Ball 游戏 文章转自:http://www.jianshu.com/p/97b630a23234 前言 在Unity官方实例教程 Roll-a-Ball(一)中,我们学会了: 新建一 ...

  4. Unity官方实例教程 Roll-a-Ball(一)

    文章转载自:http://www.jianshu.com/p/6e4b0435e30e 前言 Unity官方实例教程Roll-a-Ball汉化视频地址,点击这里. 官方视频所用的unity版本是4.3 ...

  5. OpenCV-Python (官方)中文教程(部分二)

    [部分一]见:https://mp.csdn.net/postedit/103956799 第五章.特征提取与描述 29.理解图像特征 大多数人都玩过拼图游戏.首先你们拿到一张图片的一堆碎片,要做的就 ...

  6. Unity官方图形教程 学习笔记(二) -- Precomputed Realtime GI(实时全局光照)

    原文链接:https://unity3d.com/cn/learn/tutorials/s/graphics 1 介绍 当使用Baked GI的时候,会在预计算阶段,离线创建一张lightmap纹理贴 ...

  7. Unity官方图形教程 学习笔记(三) -- 线性工作流

    原文链接:https://docs.unity3d.com/Manual/LinearLighting.html 1 线性渲染概述 Unity编辑器支持使用gamma颜色空间和linear颜色空间.G ...

  8. Unity3D游戏-愤怒的小鸟游戏源码和教程(二)

    Unity愤怒的小鸟游戏教程(二) 本文提供全流程,中文翻译. Chinar坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) AngryEva游戏 ...

  9. OpenCV-Python (官方)中文教程(部分一)

    官网链接(英文版):https://docs.opencv.org/4.1.1/d6/d00/tutorial_py_root.html 第一章. OpenCV简介 了解如何在计算机上设置OpenCV ...

最新文章

  1. xss_url通关_1-10
  2. C++:new 和 delete
  3. SAP Hybris Commerce product读取的调试截图
  4. java mybatis XML文件中大于号小于号转义(转载)
  5. maven,gradle本地缓存位置
  6. 【Python 学习_第2周_程序代码】金角大王培训第二周练习_购物车代码,将写的代码和老师代码比较,记录下收获...
  7. redis创建像mysql表结构_Redis数据结构列表实现
  8. hibernate mysql autocommit_Hibernate4 中为什么我没有用commit()方法直接用save就存到数据库了?...
  9. C语言小程序:找出100以内素数
  10. cad字体安装_CAD字体安装方法
  11. 浏览器 Cookie 的使用
  12. Python生成Wifi二维码 一键联网
  13. css中img间有空隙
  14. gtx1050ti和gtx1050的区别
  15. FusionCharts报表
  16. 申请一个免费美国手机号码
  17. LinuxZIP压缩和解压缩
  18. 阿里云合作伙伴查询合作流程
  19. C语言之指针知识大总结
  20. python经典类新式类_Python的新式类和经典类

热门文章

  1. I know who God is!
  2. Flex CookBook 读书笔记 第一部分
  3. 老鹰主机怎么样?多年的用户来说下
  4. C语言丨折半查找(对分搜索)
  5. Vscode 配置 matlab 环境
  6. uni-app 录音权限安装时没提醒开启的问题
  7. 好莱坞科幻背景(c语言)
  8. 用R语言写一颗圣诞树
  9. Python终将成为最火爆的编程语言,因为它是属于大众的
  10. 大矩阵的分块乘法及matlab实现