已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Unity的射击类游戏开发,设计者:,指导老师:,研究的背景与意义,无论是3D化的谷歌地图,还是现在脍炙人口3D游戏,甚至是集娱乐和运动于一体的室内体感游戏,这一切都是虚拟现实技术的应用。如今的社会,不仅仅是游戏,3D技术已经被广泛的开发并且用作商业应用,比如模拟车展,火箭升空,3D旅行等。Unity3D其开发的综合性平台和其丰富的脚本语言,开发界面友好,功能强大等有利因素,被我选择作为制作一款射击类游戏的开发工具。通过对3D游戏的设计,来充分了解虚拟现实在社会中的应用以及如何将该技术广泛的应用在各大领域。,12/6/2019,Unity3D软件介绍,Unity3D(以下简称U3D)是一款3D跨平台次世代游戏引擎。1)提供了非常完美的跨平台系统。平台之间的差别常常会影响到产品的开发速度和进度,因此大部分开发者们要在这上面花费大量的时间,而unity则能在近10种主流平台之间完美移植。2)提供了多种脚本语言编译的常用环境,并且可以根据需求将默认的编译环境做出调整。Unity3D支持C#、Javascript、Boo三种脚本语言。3)提供了一个交互良好的操作界面,能够完美的在windows和MacOS下部署。该软件自带的五个工程视图框架能够让你很好的观察你制作游戏的进程。,系统的功能需求分析,1.游戏需要一个开始界面用来开始游戏、了解游戏的玩法、以及退出游戏,初始界面至少要有这三个选项。2.场景的设计以及各种触发事件,并且在此基础上有所创新。3.在游戏的GUI上面有主角的血条,装填炮弹,还有一些创新性的技能设计,让游戏更加丰富多彩。4.游戏中还应该存在敌人,敌人会主动瞄准主角并攻击。,系统的整体设计,系统的开始界面设计系统包括场景1和场景2。场景1中所要设计的就是游戏的开始界面。界面中包含了3个按钮,分别完成各项功能。按钮1)开始游戏:用来进入场景2,即进入游戏。用户只要通过鼠标按下该按钮,就可以载入所要进行的游戏。按钮2)游戏帮助:用来进入帮助界面。帮助界面主要用来告知玩家如何进行游戏等等注意事项。为一些刚解除该游戏的玩家提供帮助。按钮3)退出游戏:主要用来退出游戏。,系统的场景设计系统中的场景2就是我们所要进行游戏的场景。场景中包含的对象有:1)地形:对象都放在这上面。还包括一些植物和水池。2)主角对象:这里的主角对象是一辆坦克,包括了坦克的移动、开火、还有与其相关联的GUI。3)敌方对象:这里的对象包括的敌方的坦克,炮台等,他们都有自己的AI。4)特殊道具:有些特殊道具可以被摧毁。有些特殊道具可以被拾取并触发有意思的事件。,游戏系统的实现,游戏开始界面制作首先我们使用GUI.DrawTexture(newRect(0,0,Screen.width,Screen.height),textureBG)方法来给整个屏幕附上textureBG贴图,rect方法是用来创建一个矩形框,它的参数表示Rect(距离左边屏幕的距离,距离上边屏幕的距离,举行的宽,矩形的高),这是制作界面背景的一种方法。我们在游戏的脚本代码中给摄像机赋予了4种状态机,分别是当前画面状态,开始后的状态,按下帮助后的状态,按下退出后的状态,分别给这些状态写了方法,即mainmenu(),helpmenu(),quitmenu()。效果如图:,场景的制作Unity中自带的平面系统能很好的为我们创建我们想到要的地形场景。在工具栏中选择Terrain-CreateTerrain便可以创建一个平面。在Terrain中的SET.选项中可以修改平面的大小,我们在最右侧视图中可以发现该平面的属性,在Terrain(sprict)下的几个按钮可以用来修饰平面,前三个按钮可以将平台的地势加高,加平缓,第四个按钮是用来给平面附上地形贴图,第五个按钮是用来创造树,第六个按钮是用来创造花草植物,按下EditDetails便可以为这些物体选择所需的贴图。为了让整个场景更加唯美,U3D中自带了天空盒系统(SKYBOX),在工具栏中选择Edit-RenderSteting菜单,打开渲染设置的界面,在SkyboxMaterial选项中设置天空盒的材质,即将天空盒包中的天空盒材质拖入其中便可。这样美轮美奂的场景就基本设置完成了。,游戏对象的制作1)主角对象的移动,旋转场景中调整好坦克的大小之后,就必须要给坦克主角添加行动脚本了。现实中的坦克只能往前移动,并不能左右平移,但可以原地旋转身体。U3D中使用方法transform.Translate()来移动身体,此方法的唯一参数为平移模型的方向。使用方法transform.Rotate()来旋转身体,此方法的参数为旋转的速度和旋转方向。之后我们来设计坦克的炮头旋转方式,方法任然为Rotate()方法,2)炮弹的设计与开火实现在工具栏中选择CreateObject-CreateOther-sphere来创建一个球型物体,调整大小,并在网上找一些金属高亮的材质赋予给球体。在project视图中我们创建一个prefab预制对象,将场景中的炮弹球体拖入该预制对象中改名为bullet,然后删除场景中的炮弹对象。这样我们所要的炮弹就有了,之后便是发射炮弹的实现。创建一个空的对象,在工具栏上选择CreateObject-CreateEmpty,将该空对象拖到炮口附近,将其改名为firepoint,并将它拖入到炮头中,使其成为炮头的子对象。在发射炮弹的脚本代码中,我们使用了Instantiate()方法,该方法用来实例化一个克隆对象,参数为(实例化的对象,产生的位置,产生的方向),transform.TransformDirection()方法用来给创建的克隆实例给一个方向力,参数为力的方向。使用了GetMouseButton(0)方法来完成左键鼠标就可以实例化一个炮弹,并且按照方向发射出去。定义了一个canshot整形用来判定炮弹是否能发射。,在游戏中运行时,我们发现炮弹能够发射并且会被撞到的物体弹开,下面就是要设计炮弹的爆炸与火花。与炮弹的设计相同,在火花效果的包中找到一个fireworks效果,调整效果至爆炸的样子,然后将它放入一个预制对象之中名字改为火花。我们添加如下代码使得炮弹碰撞到地方就消失并且产生一个火花,火花的产生与消失。voidOnCollisionStay(Collisioncollision)Instantiate(boom,this.transform.position,this.transform.rotation);Destroy(gameObject);将这段代码拖给炮弹,目的是让炮弹碰撞到物体就消失,并且在消失的地方实例化一个火花。这里使用了OnCollisionStay(Collsioncollision)方法,这是U3D中的一种碰撞检测。,3)敌人对象的设计与主角对象一样,从网上找来一个坦克和火炮的模型,调整大小,为了降低游戏的难度,这里的敌人对象是无法移动的,但是他们会主动寻找主角并打击主角,这里就是有关对人AI的设定了。我们任然像给与主角发射炮弹的能力来给敌人的炮头附上发射炮弹的功能,代码和主角代码如出一辙。设计敌人的关键之处就在于敌人的AI设定。if(Vector3.Distance(this.transform.position,hero.t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铝合金薄板激光辅助MIG焊接工艺及热源特性研究
- 基于整体观“肺鼻同治”理论探讨通窍平喘饮治疗儿童CARAS临床疗效
- 2026年国家能源集团春招岗位查看考试备考题库及答案解析
- 2026江苏常州市公办技工(职业)院校专项招聘教师14人考试备考试题及答案解析
- 医疗器械岗前培训资料全
- 2026上半年广东铁投集团招聘考试备考题库及答案解析
- 如何啃下合同审核这块硬骨头-试从财务角度分析
- 2026年临沂兰陵县医疗卫生事业单位公开招聘卫生类岗位工作人员(71名)笔试参考题库及答案解析
- 2026重庆市航空应急救援总队航空应急救援专职人员招聘34人笔试模拟试题及答案解析
- 2026福建三明中国太平洋财产保险股份有限公司三明中心支公司招聘4人考试备考试题及答案解析
- 2026年全民营养周“营养餐桌 家庭健康”系列活动方案(5篇)
- 2026中央安全生产考核巡查明查暗访应知应会手册及检查重点解析
- 四川省眉山市名校2026届中考数学模试卷含解析
- 2025版国际护士节护士压力与情绪管理讲座课件
- 电磁感应中的单棒、双棒和线框模型系统性答题模板与思维建模-2026年高考物理二轮复习解析版
- 创新中心建设规划方案
- 2026届湖北省武汉普通高中高三下学期3月调考英语试卷
- 2026安全生产法完整版
- 2025年上海市血液中心招聘考试真题及答案
- 【答案】《国家安全教育》(河南理工大学)章节期末慕课答案
- JJG 596-2026安装式交流电能表检定规程
评论
0/150
提交评论