Unity3D游戏设计与实现 - 图文(7)

2020-04-16 23:59

7.4 碰撞检测的实现

这里仅列举一个碰撞检测函数,首先得在相应的两个游戏对象上面添加碰撞检测器和刚体组件,具体步骤如下:

Component->Physics->Collider; Component->Physics->Rigidbody;

注意不要勾选重力,代码实现如下:

void OnTriggerEnter (Collider collider)

{ }

该碰撞检测函数使用的是触发器,检测的是玩家对象是否碰撞到飞鸟以及飞镖是否碰撞到飞镖,进而实现不同的游戏功能。

if(collider.gameObject.name == \{ }

if(collider.gameObject.name == \{ }

isHitBullet = true; SetPositionAndSpeed(); Score.m_score += 5; isHit = true; Score.isHitted = true;

7.5 音效的实现

音效主要有背景音乐、人物音效、飞镖音效等。实现游戏音效,只需要在主像机添加一个Audio Listener游戏组件,具体步骤如下:

Component->Audio->Audio Listener;

然后在相应的游戏对象上面添加Audio Source游戏组件,具体步骤如下:

Component->Audio->Audio Source;

第 21 页 共 33 页

如图7.5所示:

图7.5 音效组件

最后再用代码进行相应的控制就行了。

7.6 游戏通关

在玩家通过关卡一得到100分之后,将选择进入关卡二,如果再得到200分就将通关,进入获胜场景。此刻玩家可以看见自己分数和最高分,选择是否重新开始游戏。选关场景如图7.6所示:

图7.6 下一关界面

第 22 页 共 33 页

7.7 游戏失败

如果玩家在游戏过程中没有躲避雪球或者飞鸟的攻击,那么游戏就会失败。 游戏失败之后,就会调用绘制窗口的函数,绘制一个选择窗口。然后,玩家可以选择继续游戏或者退出游戏。继续游戏将回到游戏开始界面,并进入一关,不能直接进行第二关,即使之前通过了第一关也不行。

8 项目总结

8.1 总结的目的

项目在开发的过程中,遇到很多的问题,是需要总结并记录的,以便于下次在遇到同样的问题时,能够快速高效的解决该问题,以节省游戏项目的开发周期,降低开发的成本。并且,对一个已完成游戏项目的总结,在他人学习该项目时,可以提供很好的帮助。

8.2 关键性问题总结

第一个关键性问题是精灵动画在贴图的时候遇到的麻烦。刚开始用是Unity3D的平面组件来进行贴图,但是贴图用上去之后,运行时,精灵在运动的时候是倒立的,在检视器窗口中进行手动旋转180度之后,貌似问题解决了,但是在脚本控制精灵运动的时候就会出现意想不到的运动,比如代码明明写的是让精灵水平运动,但是精灵却是斜着走的。然后,我又试着用盒子组件来进行贴图,问题就更加千奇百怪了。最后,终于找到了解决办法:用Maya创建一个平面,让这个平面的绕X轴旋转90度,然后绕Y轴旋转180度,使得自身坐标系的Z轴反向,这样再把这个平面导成FBX格式的,再导入到Modles目录下,以便进行精灵贴图时使用。

第二个关键性问题是实例化的Prefab对象的销毁问题。我们经常在实例 化一个Prefab对象之后就不去管他,这样的话就产生很多游戏对象,影响游戏的运行效率,增加系统的开销。比如本项目中人物发射的飞镖,我是让它在3秒后或者在击中飞鸟的时候销毁,起初我也不知道该怎么去销毁它,因为在实例化之后,这个游戏对象既没有名字(指的是玩家自定义的名字),也没有标签,在调用Desdroy()函数的时候必须填写名字,那么该怎么办呢?方法其实还是很简单的,申明一个私有的GameObject对象,用来接收每个实例化的对象,然后判断这个对象是否为空,不为空就进行销毁。

当然遇到的问题还有很多,这里列出了两个最重要最难解决的问题,以 便于以后或者他人遇到同样问题时能快速解决。

8.3 游戏开发周期

做游戏项目一个很关键的因素就是游戏开发所需要的时间,即开发周期。影响本次项目开发的因素不仅是技术上遇到的问题,更多的是美工上遇到的问题,

第 23 页 共 33 页

很多游戏项目也因为美工不过关而终止,这就要求前期准备阶段要做好。在技术方面遇到了困难与问题不能一拖再拖,一定要迎面而上,积极处理并寻找解决问题的方法,以免延长游戏开发的周期。

第 24 页 共 33 页

结 束 语

Unity3D是一款强大的游戏设计引擎,只要具备基础的C、C++、C#、javascript基础的人都很容易上手。凭借Unity3D出色的物理引擎以及3D渲染效果,很值得大家去学习。更大的一个特点是你只需要一次开发,就能把你的作品发布到当今火热的平台上去,诸如Windows、Mac、IOS、Android、Wii等流行的平台。本游戏项目所涉及的Unity3D功能只是很小的一部分,它的强悍之处等着大家一起去学习。

第 25 页 共 33 页


Unity3D游戏设计与实现 - 图文(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:关于补缴部分合同制员工社会保险费的报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: