基于Unity3D的跨平台格斗游戏设计毕业论文(22页).doc
《基于Unity3D的跨平台格斗游戏设计毕业论文(22页).doc》由会员分享,可在线阅读,更多相关《基于Unity3D的跨平台格斗游戏设计毕业论文(22页).doc(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-基于Unity3D的跨平台格斗游戏设计毕业论文-第 19 页基于Unity3D的跨平台格斗游戏设计摘要:随着科技的发展,网络的普及,电子产品的普遍流行,游戏显然已经成为人们的主要娱乐方式之一。生活节奏的加快使得人们不能再像以前那样坐在电脑前玩游戏,便于携带是手机的主要特点,手游也成为当前最热门的游戏方式之一。于此同时,Unity3D的异军突起,使手机游戏开发多了一个方向,更方便、更快捷、更加人性化的研发方式使得Unity3D成为当前主流的游戏开发引擎。手机硬件性能越来越强大,使得3D游戏在手机中得以实现。近年来,越来越多的3D游戏出现在手机屏幕上,其中不乏优秀的作品。本次毕设在前人的基础上进
2、行学习研究,深入了解Unity3D及C#编程语言,进行3D格斗游戏的开发。本文列出了3D格斗游戏的一些功能点、关键技术,详细阐述了游戏的设计过程。关键词:Unity3D,手机游戏开发,C#编程语言,3D格斗Abstract:With the development of science and technology, the popularity of the network and electronic oducts ,the gamehas apparentlybecome one of the mainforms of entertainment for people.The accel
3、erating rhythm of lifeso that peoplecan no longersit in front of the computer to play games,portabilityis the main feature ofthe phone,Mobile phone Gamehas become one of themost populargames.At the same time,the emergence of Unity3D ,let the mobile hone game pment in onedirection,more convenient,mor
4、e efficient more humanedevelopment approach makes Unity3D become the mainstreamgame development engine.Mobile phonehardware performance is more and morestrong,the3D can be achievedin the mobile phonegame.In recent years,more and more3D gameson the mobile phone screen,many of whom are excellent works
5、.The graduation design is studied on the basic of previous,in-depth understanding of the Unity3Dand the C# programming language,3D developmentof fighting games.This is a list of somefunctions,the key technologies of 3Dfighting game,described in detail thedesign processof the game.Keywords:Unity3D,mo
6、bile phonegame development,C# programming language,3D fight目录一、绪论1(一) 手游的发展1(二) 研究目的及意义1 (三) 论文架构1二、游戏开发环境3(一)Unity3D游戏引擎3(二) NGUI7三、游戏需求分析9(一) 游戏基本介绍9(二) 需求分析9(三) 场景模型的搭建10(四) 人物动作说明12(五) 游戏镜头控制14(六) 加载界面14四、游戏设计实现15(一) 各系统界面分析151. 登录界面152. 游戏主界面163. 关卡选择界面18(二) 战斗系统21五、游戏测试26六、总结与展望28(一) 总结28(二) 展
7、望28致谢29参考文献30一、 绪论(一) 手游的发展手游即手机上的游戏。随着移动互联网时代的到来,如今,手机除了满足大家发短信、通电话的基本需求外,玩游戏早已成为手机最重要的功能之一。手游早期为简单的文字游戏,随着手机像素、运行效率的提高,一些具备了简单彩色图形的手游开始面向用户,这类游戏大多使用JAVA语言编写实现,不论是画面,还是玩法都比上一个代提升了许多,然后是近几年的app应用,例如N-Gage, N-Gage是诺基亚在那个时代所研发的手游平台,但是由于移动网络无法很好的支持手游下载、支付渠道也稀少而复杂,N-Gage始终没能大红大紫。Android和IOS的兴起,手机在其本质工作几
8、乎毫无进化的几年之间却在其余几乎每个领域发生了翻天覆地的变化,最简单并且最直观的一点表现就是性能参数了,手机性能参数的提高增加了应用的安装数量及功能,在这之中,手游获得的增益很大。门槛低,投入小,回报大,是手游的主要优势,这也使很多游戏开发商纷纷转型手机游戏的开发。随着手机游戏市场的日渐升温,手游已经开始主导着整个移动互联网的发展,千万级用户,千万级收入已经不再是空话,手机行业的发展极大推动了手游的发展。近年来,手游更是有了质的飞跃,在手机行业跨越式的发展下,手机系统再也不是当年NOKIA的塞班系统, iPhone的诞生,及其开创的触屏潮流,不仅革新了用户操作手机的体验,而且也使手游脱离了物理
9、键盘的局限,有了除“上下左右”之外的新的玩法。后来谷歌研发的安卓手机系统诞生,触屏智能更加便捷,得到了很快的普及,谷歌市场也出现了各种各样的安卓游戏,随后的几年安卓手游成疯狂的趋势增持。(二) 研究目的及意义小时候接触的小霸王游戏机,当时街霸对打、忍者神龟系列、刀侍等格斗游戏就非常火,此类游戏的受益群众非常多。再加上手机性能的提高,3D格斗游戏在手机上也越来越流畅,格斗游戏在以后将非常有优势。相对页游、端游来说,手游开发在当前游戏领域还算比较少,可探索的区域还有很多,比如前一段时间挂机游戏能火也是出乎意料的结果。生活节奏的加快,碎片化的时间模式推动玩家朝手游方向靠拢,并且当前正值手机领域高速发
10、展,这提供给玩家一个很好的游戏载体,这一机遇迫使部分游戏开发商纷纷投身手游开发,游戏行业即将掀起一场手游风暴。(三) 论文架构本文共六个章节内容,主要介绍一款游戏从刚开始构思到开发完成的整个过程。1. 第一章:绪论,简要介绍了手机游戏的发展历史,本课题的研究目的和意义。2. 第二章:游戏开发环境,详细介绍了本次毕设的开发引擎-Unity3D界面的使用,并且就UI界面的设计做详细的说明。3. 第三章:游戏需求分析,列举了游戏中的一些需求点,并对游戏中出现的一些相关技术进行说明。4. 第四章:游戏设计实现,列举游戏中比较重要的几个系统(登陆界面、游戏主界面、关卡选择界面、战斗系统),对其功能的实现
11、进行脚本的说明。5. 第五章:游戏测试,游戏项目完成后,对游戏进行测试,并提供测试数据。6. 第六章:总结与展望,根据本毕设的开发现状,作总结与展望。二、 游戏开发环境(一) Unity3D游戏引擎Unity3D是一款集三维视频游戏、建筑可视化、实时三维动画于一身的专业游戏引擎1,其多平台性表现在它可将已完成的游戏项目打包成Windows、Mac、Wii、iPhone、Windows phone 8和Android等多种平台所对应的文件格式。具有高度优化的图形渲染管道和内建的NVIDIA PhysX物理引擎,使其能够较为真实地模拟3D物体的运动和碰撞。对DirectX和0penGL拥有高度优化
12、的图形渲染管道,使其能够比较真实、清晰的显示各种材质、贴图。它支持大部分主要的文件格式,并能和大部分相关应用程序协同工作,使用者不再需要使用其他转换格式的软件,用起来更加方便快捷。Unity3D能够对编辑器、跨平台发布、地形编辑、着色器、脚本、网络、物理、版本控制等进行全面整合,优化使用界面,降低操作重复性,提高操作效率。这些都使Unity3D成为独一无二的游戏引擎。关于Unity3D的使用,需要了解以下几个方面的内容:1. 主界面视图Unity3D界面上方为菜单栏,所有功能都可以在菜单栏中找到。菜单栏下方为具有各种功能的窗口,负责游戏项目的大部分操作,可将部分用得相对频繁的窗口单独拖出来放在
13、外面,方便使用。Hierarchy窗口、Project窗口、Console窗口、inspector窗口、Scene窗口和Game窗口为主要的窗口,具体如图2-1所示:2-1 Unity3D主界面(1) Hierarchy窗口主要用于放置Gameobject,可以对Gameobject进行选中、重命名、拖动分层、添加组件等操作,并且Hierarchy的所有内容都会在scence窗口中显示出来。(2) Project窗口为项目工程的文件入口,游戏项目的所有文件都可以在project中找到,进行资源替换、查找都要在这个窗口下操作。(3) Console窗口为一个指令提示窗口,项目运行的各种情况都会在
14、这边以CSharp语言的形式显示出来,包括错误、警告、运行成功等,通过查看此窗口,可以轻松找出报错的根源。(4) Inspector窗口为Gameobject的编辑窗口,包括Gameobject的坐标、大小、附加控件及添加脚本等,一个Gameobject对应一个inspector,默认显示被选中的Gameobject的inspector窗口。(5) Scene窗口真实地显示Hierarchy窗口中Gameobject的样式和Tranform位置,可对Gameobject进行选中、拖动、旋转等操作。(6) Game窗口为运行项目时所呈现出来的真实游戏效果,为映入屏幕的画面。 2. Gameobj
15、ectGameobject就是一个容器,Unity3D中的任何组件、目标、模型都必须用Gameobject来承载,它可以是一张图片、一段单一的文字、或是一个简单的模型,取决于你给它添加什么内容。从Unity3D菜单栏的“Gameobject”中可以轻松创建一个空的Gameobject,快捷键ctrl+shift+N比较常用。如在一个空的Gameobject中添加一个Directional light(单向灯光控件),则此Gameobject就是个灯光,可在inspector窗口编辑。Gameobject支持重命名功能,使开发者能一眼就看出Gameobject内的内容,提升工作效率,Gameob
16、ject还可以嵌套子Gameobject,方便进行资源的整合。3. Tranform(坐标)的理解如下图inpector窗口中的Tranfrom所示,Gameobject的坐标包含“P”“R”“S”三个坐标,“P”即position,为Gameobject的位置坐标,用于控制目标的方位信息。“R”即rotate,为Gameobject的旋转坐标,调节P坐标将使目标作出相应转向。例如将上面提到的单向灯光的Tranform“R”中的X坐标从0改成90,则此灯光从横向灯变成纵向灯。“S”即scale,为Gameobject的大小坐标,控制目标的大小尺寸,x、y、z对应Gameobject的长宽高。一
17、个Gameobject至少包含一个tranform,有且仅有一个tranform。2-2 Gameobject中的tranform4. 脚本系统Unity3D提供强大的脚本系统,支持java script、C# script、boo script语言2,本次毕设用的是C#语言,如需要让某些Gameobject实现特定功能,可通过编写C#脚本,保存起来,并将脚本拖动到Gameobject所对应的inspector窗口,这样该Gameobject就具有脚本所描述的功能。2-3 Unity3D中的脚本文件C#也叫做C Sharp,是一种面向对象的程序设计语言,它继承了C和C+的强大功能,并简化了C和
18、C+的一些复杂特性,使其成为当前.NET开发的首选语言。因为它强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程,使其成为系统开发和应用开发的最佳使用语言。5. Unity3D文件在Unity3D中的Gameobject文件,均被保存为后缀为.perfebs文件,也是Unity3D可读取识别的文件。做游戏项目资源是必不可少的,Unity3D自带的资源也是有限的,例如一些Unity3D里面没有的贴图、材质、animation动画等资源3,需要通过其他途径查找,然后导入到Unity3D中使其变成可用元素。Unity3D也支持自制animation动画,在Unity3D菜单栏的“wi
19、ndows”中选择animation窗口进行动画的自制,将animation动画挂在Gameobject上可实现Gameobject的位移、放大缩小、渐变或其他更高级的效果。2-4 animation制作工具游戏中的各种图标Texture文件需要制作成Atlas图集的形式,Unity3D提供atlas maker工具,将想要的图标素材导入到Unity3D中,然后利用atlas maker工具将素材更新到所需要的图集里。2-5 atlas maker界面6. Camera(镜头)正如电影导演手中的摄像机将故事呈现给观众一样,Unity3D中的Camera用于将游戏画面呈现给玩家,即Game窗口中
20、的内容。一个视图中至少应该放置一个镜头,否则呈现出来的画面只会是一片漆黑。镜头的放置位置也决定了游戏体验,镜头应尽量放置在能看清整个场景的位置,距离适中,太近的镜头视距太短看不到远方的路障,太远的镜头看不清前方的物体,影响游戏体验。Unity3D中新建的工程都有提供一个main camera镜头。另外,可以给镜头添加一些功能,如animation动画,在镜头上添加具有短位移的animation动画可以使其抖动。(二) NGUINGUI为Unity3D的一款界面UI设计插件,使用NGUI可以轻松完成大部分2D界面设计,下面是NGUI的一些基础控件及关键点:1. Sprite(图片):如果要将一张
21、图片放在界面中,需要选中一个Gameobject,然后添加UIsprite脚本(或直接使用NGUI创建一个sprite控件),该对象的inspector窗口中即出现sprite控件栏。如图1-2所示,点击Atlas选择图集,后面为选择图集的具体图片。2-6 UISprite脚本界面2. Label(文本框):使用UIlabel脚本在界面中添加文字,文字颜色、大小、位置均可自己控制,如图2-7所示:2-7 UILabel脚本界面3. Button(按钮):其实Button控件是由sprite、label和collider碰撞器组合而成的,应该包含一个父Gameobject,和三个子Gameobj
22、ect。Collider为碰撞器,用于响应外界对此块区域的操作。当点击此块区域时,将执行某些处理,可由脚本控制。这三个也可全部放在一个Gameobject中,但是,这样做的缺点就是他们共用一个tranform,复用性不强。4. Tween(动画):即动画效果,包含颜色变化、大小变化、旋转变化、深浅变化等,类似animation动画,差别在于tween为写死的动画,没法像animation动画那样自由调节。可挂在任何对象上,并且需要选择如何触发此动画。如点击一下Button触发顶部按钮由透明变成正常颜色,这样就实现了简单的Tween动画功能。5. Depth(深度):界面为2D界面,没法避免窗口
23、、图片重叠的现象,depth可以有效的将各个Gameobject分层处理。Depth值越低代表此物体越底层,将被depth值比他高的Gameobject遮挡住。6. NGUI还提供一些例如滑动条、输入框、下拉栏等更高级的控件,在本文不涉及到,在这里不做阐述。三、 游戏需求分析(一) 游戏基本介绍本毕设为一款使用Unity3D引擎制作实现的3D格斗游戏,脚本使用C#编程语言编写,主角为大家耳熟能详的钢铁侠,游戏整体风格偏机甲类,主要玩法即格斗。3-1 战斗界面战斗界面如图3-1所示,玩家通过控制界面左侧的方向键(已隐藏)进行主角前后左右的移动,通过点击右边的攻击键实施攻击。游戏将给玩家带来超炫的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Unity3D 平台 格斗游戏 设计 毕业论文 22
限制150内