- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
虚拟现实及数据可视化Unity课程设计报告(支康仪,张琦,朱雨婷,石彦飞,张桐)
东南大学仪器科学与工程学院虚拟现实与数据可视化Unity课程设计设计名称:TankWar院系名称:仪器科学与工程学院测控技术与仪器小组成员: 支康彦雨导老师:孙立博报告时间:2015年01月04日目录1、前言1.1 作品名称TankWar1.2作品成员和分工成员院系学号支康仪仪器科学与工程学彦飞仪器科学与工程学桐仪器科学与工程学雨婷仪器科学与工程学琦仪器科学与工程学要工作主要负责人Level3的制作以及各个脚本的编写支康仪交互界面(两个切换,胜利,失败,以及菜单界面)和ppt的制作石彦飞 张桐场景1的制作以及素材的收集朱雨婷场景2的制作以及报告的撰写张琦1.3指导老师孙立博仪器科学与工程学院1.4作品简介游戏是娱乐生活的重要部分,对于缓解压力有着极大的作用。而坦克大战作为我们童年的经典的一款游戏,其已经带给我们难以忘怀的回忆。通过这学期虚拟现实课程的学习,我们小组将unity 3d 与射击游戏相结合,制作了一款精彩纷呈的3D坦克大战游戏,整个过程将所学的知识与实践相结合,帮助我们对于unity 3d的应用有了更深的了解。我们设计的这款名为TankWar的3D坦克大战游戏一共分为三关。第一关设置的是荒漠场景,给人一种苍凉的感觉,我方坦克和敌方坦克在一望无际的荒漠上激战,实在是让人酣畅淋漓。第二关设置的是沼泽森林,同样的作战手法不同的环境也让人耳目一新。最后一关双方坦克开进了人们所生活的城市,在高楼林立中展开一场激战。三个关卡的难度逐渐增加,梯度合理,让人想挑战且欲罢不能,具体难度设置可从下表看出:项目关卡血值耗血量/被击中一次需杀敌数第一二关200010010第三关1000100152、系统方案2.1使用说明1)开发环境:Unity3D2)操作方法(按键控制)调整对象对应按键对应效果玩家坦克方向键up - ↑或w坦克前进方向键down - ↓或s坦克后退方向键left -←或a坦克向左转方向键right- →或d坦克向右转鼠标左键发子弹鼠标旋转坦克向相应方向旋转ESC退出游戏回到主菜单2.2设计方案2.2.1场景的建立整个游戏分成三关实现,所以需要绘制三个场景。第一个场景是荒漠,第二个场景是森林,我们使用上课学过的unity3d中建立地形的方法,第一关和第二关均是自己绘制的。最后一关我们想寻求新意,于是从网上下载了一个城市的3d模型导入建好的场景里边,并通过在建筑物上加cube来给其中的建筑物赋予了rigidbody这一物理属性使其可以检测碰撞等。第一关最后在场景面板中(俯视):在游戏面板中显示如下:第二关展示:第三关:以上是我们游戏的三个场景,因为坦克大战并不需要赛道之类的东西,所以其实场景绘制还是比较简单,我们基本上是利用unity3d自带的资源包,只在第一关中导入了一些岩石模型以及荒漠的纹理图片,当然,第三关也是导入模型并给其添加物理属性。整个游戏场景的制作到此基本完成。2.2.2坦克模型的导入敌方坦克和玩家坦克均是通过导入模型建立起来的,这些模型是我们从网站上搜寻的资源。坦克的构成由几个部分组成,为了实现鼠标控制视角的功能,我们还在坦克中内置了一个摄像头,以及为了实现坦克开前灯的效果我们在坦克中添加了一个点光源。我们可以从层次面板中看到:坦克的具体组成部分如下: 玩家坦克:其中炮筒如下: 坦克基座如下:再加上光源,相机,以及连接炮筒和基座的两个cube(为了使得炮筒旋转),最后给坦克模型加上rigidbody这一物理属性,整个坦克模型就制作完成了。为了在游戏中能区分敌我,增加游戏的可玩性,敌方坦克与玩家坦克造型略有不同,但是制作和导入方法相似,最后的敌方坦克我们做成如下:完成了玩家坦克的导入后,下面所进行的工作即为给坦克添加脚本来实现复杂的功能。2.2.2坦克移动,子弹效果以及MouseLook的实现2.2.2.1坦克的移动移动是坦克作战中最为基础的部分,为了实现这个功能,我们给坦克添加了一个TankMover的脚本,其中实现移动的代码如下:this.transform.Rotate(new Vector3(0,Input.GetAxis(Horizontal)* TurnSpeed * Time.deltaTime,0));this.transform.position += this.transform.forward * Input.GetAxis(Vertical
原创力文档


文档评论(0)