版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于Unity的射击类游戏开发 研究的背景与意义 无论是3D化的谷歌地图,还是现在脍炙人口3D游戏,甚至是集娱乐和运动于一体的室内体感游戏,这一切都是虚拟现实技术的应用。如今的社会,不仅仅是游戏,3D技术已经被广泛的开发并且用作商业应用,比如模拟车展,火箭升空,3D旅行等。 Unity3D其开发的综合性平台和其丰富的脚本语言,开发界面友好,功能强大等有利因素,被我选择作为制作一款射击类游戏的开发工具。通过对3D游戏的设计,来充分了解虚拟现实在社会中的应用以及如何将该技术广泛的应用在各大领域。 Unity3D软件介绍Unity3D(以下简称U3D)是一款3D跨平台次世代游戏引擎。1)提供了非常完
2、美的跨平台系统。平台之间的差别常常会影响到产品的开发速度和进度,因此大部分开发者们要在这上面花费大量的时间,而unity则能在近10种主流平台之间完美移植。2)提供了多种脚本语言编译的常用环境,并且可以根据需求将默认的编译环境做出调整。Unity3D支持C#、Javascript、Boo三种脚本语言。3)提供了一个交互良好的操作界面,能够完美的在windows和Mac OS下部署。该软件自带的五个工程视图框架能够让你很好的观察你制作游戏的进程。8/20/2022 系统的功能需求分析 1. 游戏需要一个开始界面用来开始游戏、了解游戏的玩法、以及退出游戏,初始界面至少要有这三个选项。 2. 场景的
3、设计以及各种触发事件,并且在此基础上有所创新。 3. 在游戏的GUI上面有主角的血条,装填炮弹,还有一些创新性的技能设计,让游戏更加丰富多彩。 4. 游戏中还应该存在敌人,敌人会主动瞄准主角并攻击。 系统的整体设计系统的开始界面设计 系统包括场景1和场景2。场景1中所要设计的就是游戏的开始界面。 界面中包含了3个按钮,分别完成各项功能。按钮1)开始游戏:用来进入场景2,即进入游戏。用户只要通过鼠标按下该按钮,就可以载入所要进行的游戏。按钮2)游戏帮助:用来进入帮助界面。帮助界面主要用来告知玩家如何进行游戏等等注意事项。为一些刚解除该游戏的玩家提供帮助。 按钮3)退出游戏:主要用来退出游戏。系统
4、的场景设计 系统中的场景2就是我们所要进行游戏的场景。场景中包含的对象有:1)地形:对象都放在这上面。还包括一些植物和水池。2)主角对象:这里的主角对象是一辆坦克,包括了坦克的移动、开火、还有与其相关联的GUI。3)敌方对象:这里的对象包括的敌方的坦克,炮台等,他们都有自己的AI。 4)特殊道具:有些特殊道具可以被摧毁。有些特殊道具可以被拾取并触发有意思的事件。 游戏系统的实现游戏开始界面制作 首先我们使用GUI.DrawTexture(new Rect(0, 0, Screen.width, Screen.height), textureBG)方法来给整个屏幕附上textureBG贴图,re
5、ct方法是用来创建一个矩形框,它的参数表示Rect(距离左边屏幕的距离,距离上边屏幕的距离,举行的宽,矩形的高),这是制作界面背景的一种方法。 我们在游戏的脚本代码中给摄像机赋予了4种状态机,分别是当前画面状态,开始后的状态,按下帮助后的状态,按下退出后的状态,分别给这些状态写了方法,即mainmenu(),helpmenu(),quitmenu()。效果如图:场景的制作 Unity中自带的平面系统能很好的为我们创建我们想到要的地形场景。在工具栏中选择Terrain-Create Terrain便可以创建一个平面。 在Terrain中的SET.选项中可以修改平面的大小,我们在最右侧视图中可以发
6、现该平面的属性,在Terrain(sprict)下的几个按钮可以用来修饰平面,前三个按钮可以将平台的地势加高,加平缓,第四个按钮是用来给平面附上地形贴图,第五个按钮是用来创造树,第六个按钮是用来创造花草植物,按下Edit Details便可以为这些物体选择所需的贴图。 为了让整个场景更加唯美,U3D中自带了天空盒系统(SKYBOX),在工具栏中选择Edit-Render Steting菜单,打开渲染设置的界面,在Skybox Material选项中设置天空盒的材质,即将天空盒包中的天空盒材质拖入其中便可。这样美轮美奂的场景就基本设置完成了。 游戏对象的制作 1)主角对象的移动,旋转 场景中调整
7、好坦克的大小之后,就必须要给坦克主角添加行动脚本了。现实中的 坦克只能往前移动,并不能左右平移,但可以原地旋转身体。U3D中使用方法transform.Translate()来移动身体,此方法的唯一参数为平移模型的方向。使用方法transform.Rotate()来旋转身体,此方法的参数为旋转的速度和旋转方向。 之后我们来设计坦克的炮头旋转方式,方法任然为Rotate()方法2)炮弹的设计与开火实现 在工具栏中选择Create Object-Create Other-sphere来创建一个球型物体,调整大小,并在网上找一些金属高亮的材质赋予给球体。在project视图中我们创建一个prefab
8、预制对象,将场景中的炮弹球体拖入该预制对象中改名为bullet,然后删除场景中的炮弹对象。这样我们所要的炮弹就有了,之后便是发射炮弹的实现。 创建一个空的对象,在工具栏上选择Create Object-Create Empty,将该空对象拖到炮口附近,将其改名为firepoint,并将它拖入到炮头中,使其成为炮头的子对象。 在发射炮弹的脚本代码中,我们使用了Instantiate()方法,该方法用来实例化一个克隆对象,参数为(实例化的对象,产生的位置,产生的方向), transform.TransformDirection()方法用来给创建的克隆实例给一个方向力,参数为力的方向。使用了GetM
9、ouseButton(0)方法来完成左键鼠标就可以实例化一个炮弹,并且按照方向发射出去。定义了一个canshot整形用来判定炮弹是否能发射。在游戏中运行时,我们发现炮弹能够发射并且会被撞到的物体弹开,下面就是要设计炮弹的爆炸与火花。与炮弹的设计相同,在火花效果的包中找到一个fireworks效果,调整效果至爆炸的样子,然后将它放入一个预制对象之中名字改为火花。我们添加如下代码使得炮弹碰撞到地方就消失并且产生一个火花,火花的产生与消失。 void OnCollisionStay(Collision collision) Instantiate(boom, this.transform.posit
10、ion, this.transform.rotation); Destroy(gameObject); 将这段代码拖给炮弹,目的是让炮弹碰撞到物体就消失,并且在消失的地方实例化一个火花。这里使用了OnCollisionStay(Collsion collision)方法,这是U3D中的一种碰撞检测。3)敌人对象的设计 与主角对象一样,从网上找来一个坦克和火炮的模型,调整大小,为了降低游戏的难度,这里的敌人对象是无法移动的,但是他们会主动寻找主角并打击主角,这里就是有关对人AI的设定了。 我们任然像给与主角发射炮弹的能力来给敌人的炮头附上发射炮弹的功能,代码和主角代码如出一辙。设计敌人的关键之处就在于敌人的AI设定。if (Vector3.Distance(this.transform.position, hero.trans
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 食品安全应对手册
- 2026年高职(数字媒体技术)影视特效制作阶段测试题及答案
- 2026年运动损伤预防知识
- 2026年社区宠物照护合同协议
- 2026年商场管道疏通服务协议
- 企业安全管理培训体系
- 汉中学院就业指导服务
- 银行邮轮高端圈层活动策划方案
- 培养儿童艺术兴趣-儿童艺术教育专家
- AI赋能商务代理新篇章-高效透明助力企业业务增长
- 地理试题卷山东省九五高中协作体2026届高三年级12月质量检测(九五联考)(12.17-12.18)
- 学堂在线实绳结技术期末考试答案
- 《JBT 6723.4-2018 内燃机冷却风扇 第 4 部分:冷凝式内燃机冷却风扇 试验方法》(2026年)实施指南
- 中国邮政集团2026年校园招聘历年真题汇编带答案解析
- 2025年河南工勤技能考试题库(职业道德+职业能力)经典试题及答案
- 地热管水泥地面施工方案
- 水电风管安装施工方案
- 2025广东湛江市公安局经济技术开发区分局招聘警务辅助人员10人模拟试卷附答案详解(完整版)
- ISO15189认可知识培训课
- 2025-2026学年三年级上册数学第四单元(多位数乘一位数)测试卷及答案(三套)
- 2025年河北中考生物真题含答案
评论
0/150
提交评论