第三阶段的任务比较复杂,涉及到了Unity各方面的知识,叶老师也对Unity的各个重要部分进行了详细讲解。本文主要针对视频中提到的各项技术进行总结,并梳理岗哨和打靶案例的开发流程。便于各位复习与参照。

整体内容如下

1.基础知识

    1.1 准备工作

    1.2 地形设计

    1.3 角色控制器

    1.4 碰撞检测

    1.5 协程

2.岗哨人物开发

3.打靶任务开发

接下来对各部分进行总结。

1.基础知识

1.1 准备工作

导入UnityStandardAssetsSetup和book_asset资源包。其中UnityStandardAssetsSetup包含第一/第三人称控制器、环境要素等,使用各自版本自带的标准资源包即可,book_asset包含荒岛求生的所有资源,提供岗哨、打靶等功能各项资源。

1.2 地形设计

地形设计(Terrain)主要功能为下图

Raise/Low Height:按住左键提升,shift+左键降低

Paint Hejght: 按住shift保存某一点高度,在另一个区域按住左键即可将对应地形更改为保存的高度

Smooth Height: 用于边缘的平滑操作

Paint Texture: 用于绘制贴图,例如将草地贴图导入,以更改地面的贴图效果

Place Tree: 批量种树

Paint Detail: 与Paint Texture类似,案例中用来批量种草

Setting:地形编辑的一些设置选项

更多详细的功能可以参照:https://www.jianshu.com/p/dbc2de5e3009 了解了这些功能,就可以制作出一个小岛的demo了。

1.3 角色控制器

角色控制器负责控制人物的行动,由标准资源包自带,导入即可。控制器下挂载的FirstPersonController脚本控制具体的行为,代码是由Unity官方提供的,十分简练,值得深入学习。

对FirstPersonController的详细解析可以参照:https://blog.csdn.net/q764424567/article/details/78501613

1.4 碰撞检测

三种碰撞检测的方法

  • 碰撞检测(两者collider是否交互)
  • 触发碰撞检测(别的对象是否进入自己的collider范围)
  • 射线追踪(发射射线检测发生碰撞的对象)

其中前两种在第一阶段的课程中有提到,可以参照一阶段视频。

重点说明下射线追踪,适用于即时反馈的物体,例如通过点击地面控制人物朝向与行走,或是高速运动的子弹物体。都可以运用射线检测功能。

射线检测的基础知识可以参照:https://blog.csdn.net/gary_888/article/details/51439401

进阶内容:https://www.jianshu.com/p/d6d3d7bf5151

1.5 协程

协程是游戏开发中一个重要的工具,它在不影响程序正常运行的同时开启一个协同程序。协程有点像线程,但却不是线程.因为协程仍然是在主线程中执行,且在使用时不用考虑同步与锁的问题,协程只是控制代码等到特定的时机后再执行后续步骤。

协程的应用很广泛,在这次的岗哨案例中,就通过开启协程控制岗哨大门的延迟关闭。叶老师的视频中讲解了协程了各种使用方法,建议详细学习。

协程的具体介绍可以参照:http://dsqiu.iteye.com/blog/2029701

2.岗哨任务

岗哨任务是三阶段第一个作业,具体的代码参照视频,这里给出基本的脚本分析和逻辑。

岗哨任务由3个主要的脚本实现

  • PowerCell(监听电池是否与角色碰撞并传递信息给Inventory,挂载在电池上)
  • DoorCollision(监听岗哨大门的碰撞信息并触发相应动画或提示,挂载在岗哨的门上)
  • Inventory(监听收集到的电池数量信息并触发对应事件,挂载在主角上)

逻辑如下:

1.PowerCell是挂载在电池下的脚本,当主角碰撞到电池时,触发Trigger事件,将Inventory中的电池计数+1。

2.Inventory脚本通过电池技术更新发电机电量、岗哨灯光以及UI界面的电池信息。

3.当主角与门发生碰撞时,获取Inventory中的电池计数,若满足,触发开门效果。否则显示提示信息。

3.打靶任务

打靶任务较岗哨任务稍难,脚本信息如下

  • CoconutThrower(控制椰子的发射,在第一人称下新建一个子物体,并挂载在子物体上)
  • ThrowTrigger(控制CoconutThrower中的发射标志位,挂载在靶房的地毯“mat”上)
  • TargetCollision(判断标靶是否与椰子发生碰撞并做出对应动作,挂载在标靶子物体的“target”上)
  • CoconutWin(监听被击倒的椰子数,若满足条件,则创建一个电池,挂载在靶房上)

逻辑如下:

1.当靶房的地毯mat检测到主角发生的碰撞时,将CoconutThrower中的标志位置为true,此时点击鼠标右键即可执行发射。

2.当标靶检测到椰子的碰撞时,触发“down”的动画,将CoconutWin中被击倒的椰子数+1,同时开启协程计时,3秒后标靶执行“up”动画。

3.若被击倒的标靶数大于3个,将靶房中原有的电池物体删除,并创建一个新的电池。

网龙暑期训练营第三周:标准资源包的应用与岗哨、打靶任务的开发相关推荐

  1. 网龙暑期训练营第二周:Unity介绍、调试以及小游戏demo开发

    本文梳理第二周训练营视频中所提到的知识点,便于大家复习巩固,也便于自己日后查阅.视频内容主要分为三个部分: 1.Unity功能介绍 2.玩泥巴游戏开发 3.Unity调试操作  1.Unity功能界面 ...

  2. Unity找不到标准资源包standard assets的真正解决方案

    Unity小白一枚,刚刚开始学习.遇到一些问题,感觉在网上搜索到的内容没有帮助,所以写出来希望能帮到大家. 0.问题描述 很多Unity的入门教程,都提到了标准资源包standard assets,长 ...

  3. unity水特效与标准资源包的下载导入

    由于本个实例需要使用unity的标准资源包 一: 方法一: 1.进入unity官网 https://unity.cn/ 2.点击页面的Beta版本 3.找到对应自己版本下载即可 方法二: 在unity ...

  4. unity 标准资源包中的围绕旋转摄像机

    我们经常会用到相机围绕某个物体旋转的功能,但是自己写一个却通常会发现相机的高度飘忽不定,这是因为相机在围绕目标公转时,还要自转以看向目标,且公转时要同时旋转两个轴,这里不好处理,好在优美缔为我们准备了 ...

  5. Unity import package不显示标准资源包的问题(只有Custom Packag)

    Unity import package不显示标准资源包的问题,如下图: 办法:在asset store里搜索Standard Assets选择导入即可,如下图: 嘿嘿!有用的话点个赞呗!

  6. JAVA训练营第三周和第四周学习总结

    这两周我学习了数组.方法.类和对象. 难度在以肉眼可见的速度递增,学习的脚步越来越慢.这对我来说还好,就是还想多多的实战一下. 参加这个训练营已经整整一个月,我切身体会到孔子说的那句话:逝者如斯夫,不 ...

  7. [职场开放日活动]网龙嘉宾回答网友提问-合集

    5月6日,CSDN职场论坛特邀请国内知名网游公司--网龙招聘经理Gina做客"职场开放日",与各位网友进行职场和网游相关话题的交流. CSDN职场论坛"职场开放日&quo ...

  8. python中json模块_Python的标准模块包json的实例用法

    Python的标准模块包json详解 引言 对于做web开发的人来说,json文本必须要熟知与熟练使用的.大部分网站的API接口调用返回的数据,就是json格式的.如果看json对象所包含的内容,相信 ...

  9. Unity 标准资源下载

    标准资源,有时候还是不可或缺的 不错,Unity的标准资源,虽然简单,但是有时候你可能还是需要它的 新的改变 Unity官方直Unity2018.2.0及之后,就不再默认提供标准资源(包含人称控制器. ...

最新文章

  1. docker安装elasticsearch和kibana
  2. vs2019编写Linux c/c++项目
  3. python中的装饰器和抽象类
  4. 14日晚8点直播丨 经典知识库:性能优化那些事
  5. 用python批量下载网络图片_python批量下载图片的三种方法
  6. 数据平台-第一章-数据质量提升
  7. Centos7安装Nginx实战
  8. Debian 9 + Windows 10 双系统安装体验
  9. mysql一般要配置的几个小节及选项是_MySQL - 必知必会(下)
  10. 【神器】截图+贴图工具 Snipaste
  11. uva 10105 Polynomial coefficients
  12. word2016毕业论文不同章节设置不同页眉方法
  13. 5G LTE窄带物联网(NB-IoT)7
  14. CC00056.bigdatajava——|Java分支结构.V06|——|Java.v06|ifelseifelse.v02|个人所得税计算方式一|
  15. dubbo注册服务IP解析异常及IP解析源码分析
  16. AOP思想实现集中式登录,用户行为统计框架
  17. 【项目整理】一个好看的导航栏
  18. 移动通信电磁辐射(转)
  19. ​Web前端剪切板文本分享到文件发送
  20. 计算机考试93781试题及答案,黄南州中小学教师2016年招聘笔试加分人员名单(3 )...

热门文章

  1. Axure RP小技巧:如何利用矩形制作各种形状
  2. android修改系统density,Android应用开发Android 修改系统默认density
  3. 在线的免费的WMS服务汇总
  4. autocad ios 虚线_AutoCAD虚线图形对象显示为连续线怎么办?
  5. 【Node.js】面试常考问题
  6. Zeppelin 使用文档
  7. php集成动态口令认证
  8. 2022年媒体环境分析
  9. 2021 RoboCom机器人开发者大赛 CAIP 本科组初赛 第三题
  10. 【Matlab行为识别】差影法三维人体姿态行为识别【含源码 277期】