基于Unity3d的潜行游戏开发.doc
《基于Unity3d的潜行游戏开发.doc》由会员分享,可在线阅读,更多相关《基于Unity3d的潜行游戏开发.doc(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2011届湖北汽车工业学院毕业设计(论文) 毕业设计论文课题名称基于Unity3d的潜行游戏开发系 部计算机工程系专 业计算机科学与技术班 级T11232学 号20110230204姓 名杨吉乾指导教师吴文欢2015年 5 月 20日摘 要随着计算机技术的不断发展,游戏制作也慢慢成为社会上不可或缺的一部分,游戏一方面能够给玩家带来生活上的放松,另一方面也是对现实中某些场景的夸张和放大,各种各样的游戏能给玩家带来不同体验,深受广大群众的喜爱,市场需求量很大,因此对游戏的开发和研究也显得很有意义。而在一系列开发引擎中,Unity3D游戏引擎主要用来制作3D游戏,能够给玩家带来很真实的感受和非常不错
2、的游戏体验,与此同时也能做出效果很好的UI界面,学好Unity3D在未来无论是3D网页的开发还是虚拟现实都会起来不可估量的作用,而本次课题就将通过Unity3D做出一个效果不错的游戏。本次课题做一个潜行类游戏,主角需要避开敌人、红外线、摄像头的检测,拿到钥匙到达指定目的地,就像军事行动深入敌后。在整个游戏设计过程中会用到一些数学知识,会用到Mecanim动画系统,会用到状态机,会用到自动导航系统,也要求设计者有很强的逻辑思维和一定的审美标准,也需要对游戏引擎有较为熟练的使用能力.而在界面的搭建上又需要用到UI知识,懂得如何通过视觉魔术让3D模型显示在2D界面,又能让玩家从2D界面感受3D模型的
3、3D效果,对设计者来说是具有一定的挑战和锻炼意义.开发的游戏有一定的可玩性,可以满足很多玩家的娱乐需求,也可以用来当作二次开发的模型,做出难度更高、涉及元素更多元化、更复杂的市场游戏,因此,本次课题的研发不仅具有学习研究意义,也有一定的市场价值.关键词:Unity3D游戏;潜行游戏开发;Unity3D技术应用 AbstractAlong with the development of computer technology,game production has graduallybecome the indispensable part of the society,on the one h
4、and games can take relation toplayers,on the other hand,its also exaggerated and amplified to some of the realscenes,a varieties of games can bring different experience to the game players,lovedby the masses,the market demand is very big,therefor,its meaningful to research anddevelop the game.In the
5、series of development engine,Unity3D game engine is mainly used to make 3D games,it can give true feelings and bring a very good experienceto game players,make a good effect of UI interface at the same time。LearningUnity3D will rise an inestimable role in the futurewhether the development of 3DWebpa
6、ge or virtual reality。This topic will bring a good game for you throughUnity3D engine。This topic will bring you a stealth game,the hero needs to avoid enemy detection,infrared,camera,get the key to arrive at the designated destination.Just like military operations as behind enemy lines。It will use s
7、ome mathematical knowledge in the game design process,and the mecanim animation system,the state machine,the automatic navigation system,it also requires designers to have good logical thought and aesthetic standards,and the abilities to use engine very well。As for UI design,you must let the 3D mode
8、ls display in the 2D panel though visual magic,and let the players taste the 3D model effects from 2D panel,its a challenge and will let designer get some exercise. The game is funny,it will meet entertainment needs of many game players,it also can be used as a model when you do the twice developmen
9、t,to make it more difficult,more diversified,more complex,and make it marketization,therefor,research of this topic not only has significance of learning, there is a certain market value.Key Word: Unity3D Game ;Stealth Game Unity3D Technology目 录第一章 绪论11.1 开发背景及意义11。2国内外研究现状11.3本课题简介2第二章 Unity3D游戏引擎的
10、介绍32。1 API接口32。2。物理引擎3第三章 游戏的主界面设计43。1 界面总体效果43。2 具体设计53。2。1 主界面53。2。2 声音控制界面73。2.3 场景说明界面83.2.4 游戏控制界面93。2。5 关卡选择界面93。3 实现各界面滑动效果10第四章 游戏设计114.1 游戏地形设计114。1.1场景鸟瞰图114。1.2操作过程114.2 环境对象的设计124。2。1 激光124.2。2 感应门134。2。3 监控摄像机154.2。4激光控制器154.2.5 电梯164。2.6 其它环境设置164.3 人物对象的设计174.3.1 主角的设计174。3。2 机器人的设计21
11、4。4 其它必要设计274。4。1 摄像机274.4.2 游戏控制284。4.3 UI界面28第五章 游戏测试305。1Unity中运行305.1。1UI界面305。1。2 游戏315。2 PC端运行32第六章 总结33致 谢34参考文献35第一章 绪论1.1 开发背景及意义随着计算机的不断普及,各种各样的应用也如雨后春笋层出不穷,而伴随着人们生活水平的日益提高,游戏也变成了人们生活中不可或缺的调味品。做游戏自然离不开开发引擎,Unity是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全
12、面整合的专业游戏引擎。Unity类似于Director,Blender game engine,Virtools或Torque Game Builder等利用交互的图形化开发环境为首要方式的软件,其编辑器运行在Windows和Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone、Windows Phone 8和Android平台。也可以利用Unity web player插件发布网页游戏,支持Mac和Windows网页浏览。它的网页播放器也被Mac widgets所支持。除此之外,Unity在虚拟现实中也可以得到广泛应用,本次课题就是想通过主流市场游戏的形式来熟悉和了解
13、Unity的相关技术操作,从而在未来能够在一切都向3D发展的大趋势下游刃有余.1。2国内外研究现状90年代初国外的3D游戏就已经开始起步了,第一部3D第一人称射击游戏是美国的卡马克的重返德军总部。国内3D游戏则起始于2003年,相较于国外的3D游戏开发起步要晚了很多,虽然国内大的游戏公司和团队也开发出了自己的引擎,做出了古剑奇谭系列,仙剑奇侠传系列的游戏,但相比较国外的魔兽世界、模拟人生等国际游戏大作,无论是从游戏开发理念上还是技术支持上都还有不可逾越的差距,导致大量的财富资金流向国外.而随着时间的推移,手机也越来越智能化,现在的手机可以说比十几年前的电脑更加强大,也越来越多的应用出现在了手机
14、上,游戏也是不可或缺的一部分,但是不同语言开发工具开发的产品想要移植到手机上需要花费巨大的代价,成本太高,操作很复杂,国外的一款游戏引擎完美的解决了这个问题,那就是Unity3D。对于Unity3D,国内对其的研究还处于起步阶段,所以我们认真的学习国外的优秀游戏引擎,熟悉其操作,对以后自主研究符合自身需求的引擎有很大的参考价值。1.3本课题简介本课题开发一个潜行类的游戏,其中游戏主角将小心的潜入敌人的大本营,通过敏捷的身手,机智的头脑找到所有的电脑控制台关闭所有的激光红外线,在行进过程中需要躲避所有的摄像头检测,尽可能的避免机器人的发现,在被发现后能逃过所有机器人的追捕,最终拿到钥匙进入电梯后
15、从容离开。在游戏开始会有关于游戏的操作控制说明,也可以选择不同的关卡。进入游戏后,机器人会进行自主巡逻,主角需要合理的利用潜行,避免被机器人听到脚步声后前来追击,合理的利用地形是制胜的关键,请注意不要碰到红外线,一旦玩家被发现,所有巡逻机器人会前来对你进行围剿,这个时候就将是显示你高超的智商的时刻,冷静、沉着的应对,找到合适的方法,玩家也可以躲避追捕化险为夷。25第二章 Unity3D游戏引擎的介绍2.1 API接口API是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。Unity3D就有一套自己的API函数库
16、,通过这些API函数,开发人员可以很方便的实现项目的初始化,功能模块的每帧调用,如何进行触发检测并进行触发事件的响应,如何判断是否进入触发区,是否在触发区,是否离开触发区,如何实现拖动事件的响应等等。2.2。物理引擎任何一个游戏的设计都必须有其物体特性的合理性,这样才能显得真实可信,在Unity3D中为开发人员提供了大量的组件,可以对对象进行渲染,颜色的透明度、法线贴图、平行光、点光源、图片、文字、声音、动画、材质等一系列组件可以让人产生很逼真的视觉效果,而在物理特性上添加的刚体、碰撞器等组件,可以实现对象受到重力、摩擦力、空气阻力等自然物理特性的影响,而爬坡的坡度设定,碰撞后的一切物理变化,
17、逼真的体验让你觉得这就是一个现实中的物体。可以说Unity引擎就是一个组件编程的引擎,整个开发过程就是一个从无到有的组件添加,对象的物理特性Unity一般都封装好了,只需要找到合适的组件进行添加,合理控制其属性即可,而行为特性就是脚本,通过代码的逻辑操作进而实现对象的一系列活动事件。第三章 游戏的主界面设计当一进入游戏,就将会跳转到开始界面,在该界面中你可以看到游戏主角的一个静止状态的动画,上面写有游戏名称,在右上方有一个游戏的标志,左下方的是声音选项按钮,点击后会进入声音面板。在开始界面里可以进行鼠标的拖动,用来实现不同的几个界面的滑动效果,图3。2即为游戏的说明界面,在里面描绘了主角和机器
18、人在四种各不同场景下会出现的情形,图3。3则是告诉你游戏如何进行控制,又如何取得胜利,图3.4则是关卡选择界面,可以选择不同的关卡.3.1 界面总体效果整个游戏界面用的是UGUI技术,在整个开发过程中会用到panel组件(作为容器存在,用来存放其它组件,并可添加图片当作背景存在),image组件(用来添加图片,可以用作logo或者按钮等的背景),button组件(作为按钮存在,在其上可以添加点击事件),text组件(用来显示文本信息),slider组件(是一个滑动条,滑动条有一个数值,通过滑动事件同步该数值可以控制音量大小,也可以控制主角血量). 3.1开始界面 3.2场景说明界面 3。3游戏
19、控制界面 3。4关卡选择界面3。5声音控制界面3。1游戏开始界面当玩家开始重新玩一次游戏时,会进入游戏开始界面,如图所示:实现游戏开始界面的主要步骤为:1. 首先在Hierarchy面板建立一个Panel,用来作为对象的载体,给该面板拖拽一个Sprite图片,注意一般图片的类型为texture,选中该图片,更改Texture Type的类型变成Sprite即可,如图3。6。3。6 图片属性2. 在该面板内添加一个文本组件,在文本域写上标题Stealth,调整字体大小颜色位置字体等信息,把文本框拖到合适的位置.3. 在界面右上方添加一个图片组件,然后拖一个合适的图片到该组件作为Logo,注意调整
20、锚点位置,方便屏幕自适应,如图3。7。 3.7 锚点图4. 在左下方添加一个Button控件,在其背景中拖动一个合适的背景图片进去.然后创建一个空对象,用来挂载面板控制脚本,脚本主要实现的是对声音面板动画状态机里面的标志位进行修改,实现在不同条件下不同动画的播放,这里我将通过两个函数,分别对动画状态机里面的标志位进行不同修改来实现不同动画的状态转换,当状态机里面标志位“DisplayAudioSetting为真的时候就会播放声音面板的显示动画,为假的时候就会播放隐藏动画。在图3.8所示面板添加事件,然后把该对象拖进去即可产生按钮事件,点击后会调用对应的函数进行事件的响应。 3.8 Button
21、点击事件图5.添加一个主角,拖动主角模型到合适的位置,在Project面板中给主角添加一个状态机,CreateAnimator Controller,然后把主角的静止动画添加进去,如图3.9.在主角的对象上添加一个Aniator组件,然后把状态机拖进去,运行即可播放主角静止动画. 3.9 主角静止状态机3。2 声音控制界面1. 添加一个Panel组件作为各组件的载体,给其添加一个sprite图片作为panel的背景存在。2. 添加2个text组件,用来显示文字,分别写上音效、音量,将其放置到合适位置,调整锚点位置。3. 添加两个slider组件,用来控制声音的大小,在其子对象backgroun
22、d上改变颜色为黑色,添加一个空对象用来挂载声音文件,命名AudioController,在其上添加2个声音组件AudioSource,把对应的声音文件拖放进去,然后添加一个AudioListener,用来监听场景中的声音,添加一个脚本,用来控制声音的大小,在控制过程中实现将滑动条的数值实时更新赋值给声音组件声音大小的数值,声音组件的大小值为零到一,属于百分比,滑动范围同样设置为零到一,然后调用Update函数,此函数每帧都会执行,一秒大约执行60帧,基本可以满足大部分应用实现实时更新效果,如此即可满足声音大小和滑动比例一致。4. 添加一个Button组件,用来控制声音面板的隐藏,选择声音面板,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Unity3d 潜行 游戏 开发
限制150内