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

2020-04-16 23:59

在一项调查中显示,一个开发者在开发一个3D游戏的时候,有72%的人首选的开发工具是Unity3D。他们往往还选择用Unity3D做一下视觉结构、军事仿真等等。

3 研究现状及设计目标

3.1 游戏简介及动画制作

游戏项目开发的游戏名称为《Frozen》,使用的游戏引擎为Unity3D,开发周期大约一个多月,代码文件16个,开发语言为C#。游戏共有6个场景,分别是开始场景、选关场景、关卡1、关卡2、胜利场景、游戏介绍场景,没有失败场景,失败的时候是绘制了一个窗口,让玩家选择是重新游戏或者退出游戏。游戏也有用到Unity3D动画制作的功能,如游戏人物的跳跃,开始界面等,这里将游戏动画介绍一下,下面就不在叙述了。选中需要做动画的一个游戏对象,然后选择Window->Animation,进入动画编辑窗口,如下图3.1所示:

图3.1动画编辑窗口

做动画之前应该先存储这个动画原件,点击红色的圆形按钮,并为动画取好名称,存储在Animation目录下。然后在需要改变的属性上面右击,添加关键帧,改变响应属性,点击运行按钮,动画变完成了。需要注意的是,我们在人物动画做的是一个按空格键跳动的动画,而不是让他一直跳,那么就需要代码控制了,如下:

void Start () {

transform.animation.Stop(); }

void Update() {

if(Input.GetKeyDown(“space”))

第 6 页 共 33 页

{

transform.animation.Play(); } }

3.2 游戏类型

游戏项目所开发的游戏名称为《Frozen》,游戏操作十分简单,空格键跳跃来躲避雪球或者夺取雪花,Q键发射飞镖击杀敌人。

按游戏类型来分,本游戏属于一种冒险类游戏(Adventure Game),也是一种跑酷类游戏,主要考察玩家的操作和对未知是好奇之心,引发他们的互动性。

按游戏内容来分,本游戏属于一种探索类游戏,通过不同的关卡,玩家可以通过不同的方式来获得游戏分数,不停的进行探索。

按游戏载体来分,本游戏属于电子类游戏。

按游戏平台来分,本游戏可以发布到十多个平台,具有广大的平台系统。 按玩家人数来分,本游戏属于单人冒险过关游戏,是一个单机游戏。

3.3 游戏前景

如今手机游戏正在蓬勃发展,属于一种朝阳行业,而且本游戏的设计背景又源自于一部风靡全球的美国动画片《Frozen》,电影海报如图3.2所示,当用户看见这个名字时会不经意的去下载它。

就客户量来说,随着这部电影的喜爱着的增加,加上手机用户量庞大,因此本游戏具有它的客户量。就经济效益来说,游戏开发的时间和成本都很低,需要的资源很很少,却能带来很多的经济效益。

就市场来说,由于Unity3D可以把产品发布到十多个目前流行的平台,它的市场面是十分广大的。

第 7 页 共 33 页

图3.2 电影《冰雪奇缘》

3.4 技术实现及其优势

游戏项目使用Unity3D游戏设计引擎,其优势在于该引擎支持多平台多种开发环境。还有一个重点是它具备良好的交互性,因为开发一个游戏,最主要的目的是让它好玩,那么开发者在制作的过程中就能体会到游戏的可玩性是否高。

3.5 游戏项目设计目标

设计该游戏的目标是广大的手机用户,图3.3,亦可以发布至Windows等其他平台,具有广大的目标群。

由于Unity3D具有先进的跨平台技术,你的作品只需要一次性编写代码,就能轻轻松松发布到多钟平台去。

图3.3 手机游戏

第 8 页 共 33 页

4 需要解决的问题

4.1 游戏项目中要解决的问题

游戏项目要解决的问题很多,所以最关键的是先要管理好资源文件,分类明确有条理。在项目文件的预设目录下,共创建了8个文件夹,分别存放动画文件、材质文件、模型文件、Prefab文件、场景文件、代码文件、音效文件和纹理文件。游戏项目视图4.1:

图4.1 游戏项目视图

4.2 碰撞检测问题

Unity3D中实现碰撞检测的方式有两种:碰撞器和触发器。碰撞器有很多的种类,如盒子碰撞器、球形碰撞器、胶囊碰撞器等,要使用这些碰撞器都必须把该碰撞器组件添加到一个游戏对象上面。如果在检视面板中勾选了IsTrigger,那么就成了触发器。下面介绍MonoBehaviour类里面两个函数:

1、MonoBehaviour.OnTriggerEnter(Collider collider)进入触发器。 2、MonoBehaviour.OnCollisionEnter(Collision collision)进入碰撞器。 本游戏项目所涉及到的碰撞检测都是进入时的检测,即刚发生碰撞,没有退出和逗留时的碰撞检测,所以另外四个接口函数就不在赘述,具体可以去官网查询。

添加碰撞检测组件碰撞检测器之后,在监视器窗口显示如下图4.2:

第 9 页 共 33 页

图4.2 碰撞检测器组件

添加方法:

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

Is Trigger属性在勾选状态下,那么该对象就是触发器。下面其它参数则是设置碰撞体的大小、半径。

添加碰撞检测组件刚体之后,在监视器窗口显示如下图4.3:

图4.3 刚体组件

Mass是质量,Drag是阻力,Angular Drag是角阻力。Use Gravity是否使用重力,如果勾选物体将相对向下做自由落体运动。Is Kinematic是否相对地面静止,如果勾选物体将相对地面静止。Constraints属性块是设置物体的位置和旋转是否静止,例如勾选了Freeze Position Z那么物体在Z轴方向不能移动,用脚本也不能让它移动;这是很必要的,比如你做的是一个2D游戏,自然不希望它在Z轴发生移动而影响碰撞检测。

4.3 粒子系统

Unity3D自带的粒子系统完全足以满足开发者各种这方面的需求,比如在制作烟雾、云雨、爆炸、火焰、天气等。在创建好游戏对象并添加粒子系统组件之后,正如你所见的,会出现很多属性,如图4.4:

第 10 页 共 33 页


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

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

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

马上注册会员

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