基于Unity3D的消防员角色扮演游戏的设计与实现.docx
《基于Unity3D的消防员角色扮演游戏的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Unity3D的消防员角色扮演游戏的设计与实现.docx(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、摘要近几年来,市场上的科普游戏越来越受人们重视,而在现有的市场上,关于消防员的游戏普遍都是以2D或2.5D画面为主,并且皆是玩家简单地操作游戏人物进行灭火,科普效果并不显著。因此,开发一款以第一人称为视角并且加入训练元素的消防员角色扮演类游戏十分有意义。本次课题通过收集消防员的日常训练资料、真实的火灾危害数据以及救援方式数据,再结合影视作品、书籍等方向进行研究探讨,从而制作具有一定真实性的游戏关卡。本次课题研究开发的游戏是一款基于Unity3D游戏开发引擎开发的第一人称视角的消防员角色扮演类游戏,游戏首先以地形编辑器Terrain制作游戏地形,以模型制作软件3D Studio Max制作以及修
2、改模型加以辅助,结合Unity引擎自带的粒子效果控件,创造具有真实感的火灾现场场景。在游戏中的人物操作则是通过运用Unity3D游戏开发引擎中自带的角色控制器CharacterController实现人物移动控制以及视角控制。再利用射线检测碰撞、碰撞触发器算法以及Enum算法等方式实现了在游戏中不同的状态拥有着不同的效果发生,提高了游戏的可玩性与真实性。最后结合设定好的流程,使玩家更好地代入消防员角色之中。综上所述,本次课题研究开发的游戏具有完整性以及创新性,具有较高的研讨价值及运用价值和学习价值。关键词: Unity3D 消防员 角色扮演 真实 学习AbstractIn recent yea
3、rs, popular science games in the market have attracted more and more attention from people. However, in the existing market, firefighter games are generally based on 2D or 2.5d pictures, and players simply operate the game characters to put out the fire. The popular science effect is not significant
4、. Therefore, it makes sense to develop a firefighter role-playing game with the first person as the perspective and training elements.This project collects the daily training data of firefighters, the real data of fire hazards and the data of rescue methods, and then conducts research and discussion
5、 in combination with film and television works, books and other directions, so as to make a certain authenticity of the game level.This topic research and development of the game is a based on Unity3D game engine development firefighters role-playing games with a first-person perspective, game first
6、 with the Terrain editor Terrain landform, model making software 3 d Studio Max assist production and modify the model, combined with the Unity engine controls own particle effect, creating realistic fire scenarios. The character manipulation in the game is to achieve the character movement control
7、and perspective control through the use of the CharacterController built into the Unity3D game development engine. By means of ray detection collision, collision trigger algorithm and Enum algorithm, different effects are achieved in different states of the game, which further improves the playabili
8、ty and authenticity of the game. Finally, combined with the set process, make the player better into the fireman role.To sum up, the game researched and developed in this project has integrity and innovation, and has high research value, application value and learning value.Key words: Unity Firemen
9、Role play Authentic Study目 录第一章绪论11.1本课题的研究背景与意义11.2消防员游戏在国内外的研究现况11.2.1消防员游戏在国内的研究现况11.2.2消防员游戏在国外的研究现况21.3本次课题的研究设计使用的开发软件31.3.1 Unity3D31.3.2 3D Studio Max31.3.3 Microsoft Visual Studio31.4本次课题的主要研究内容4第二章游戏的需求分析与总体设计方案52.1 消防员角色扮演游戏的需求分析52.1.1 玩家需求分析52.1.2 功能需求分析52.1.2 性能需求分析62.2游戏的总体设计方案72.2.1游戏
10、结构设计方案72.2.2总体结构设计方案7第三章 游戏详细设计与实现103.1角色控制模块103.1.1 角色移动控制103.1.2 角色视角控制113.1.3 鼠标锁定与解锁123.2火焰效果模块123.2.1 火焰部署123.2.2 灭火功能实现133.3 烟雾效果模块153.4 灭火器模块183.4.1 灭火器模型设置183.4.2灭火器发射灭火剂功能实现183.4.3 多种类灭火器问题193.4.4 灭火器拾取与放下功能实现203.5 氧气与健康值效果模块223.6游戏UI模块23第四章 游戏测试254.1功能测试254.2性能测试274.3游戏测试结论27第五章 总结与展望285.1
11、总结285.2展望28参 考 文 献30致谢31广东东软学院本科生毕业设计(论文)第一章 绪论1.1本课题的研究背景与意义本次课题研究是运用游戏编程、Unity3D游戏开发引擎开发、3D Studio Max模型制作软件制作和修改模型以及计算机图形学等相关技术实现的一个“寓教于乐”的第一人称消防员角色扮演单机游戏项目。其中带有边玩游戏以及边学习知识等特点:首先玩家扮演的是一名消防员,任务包括灭火任务以及救援任务,在这方面使用第一人称能使玩家更好的代入游戏当中;其次是玩家在游戏过程中,可以通过游戏中自带的训练以及关卡设置的机关中学习到一定的日常消防知识;再者,在现有的消防题材游戏当中,分为两种:
12、一种是网页的儿童类小游戏,简单来说就是用鼠标点击火焰图标灭火,科普性极低;第二种则是以老牌IP“消防第六分队”“急难先锋”等策略性游戏,科普性高,但是运用的皆是2.5D界面,职业代入感较差。因此,本次课题研究拥有着极高的研究价值以及市场价值。1.2消防员游戏在国内外的研究现况1.2.1消防员游戏在国内的研究现况消防员游戏目前在国内并不得到重视,在网上搜索得到的中国消防员的游戏基本皆为网页小游戏。以百度搜索引擎为例,搜索消防员游戏,出现的基本都为4399、7K7K等小游戏网站提供的网页小游戏,其中的游戏基本为简单的点击火焰标志即可灭火,无论什么火情都是可以用水进行灭火。操作简单,但是科普性极低,
13、而且无论什么火情都可以用水进行灭火是一个极其严重的错误,在一些特殊的火情当中,使用水去灭火很可能会造成更加大的危险。这很容易使得我国玩家单纯的以为水可以灭万火,导致在火灾当中造成二次伤害。以下用国内小游戏举例:奇想咕噜团-勇敢消防员。玩家使用鼠标操作角色,鼠标点击建筑中的火焰标志即可喷出水柱进行灭火。可玩性不高,科普性极低。奇想咕噜团-勇敢消防员游戏截图如下图1-1所示:图1-1 国内消防小游戏奇想咕噜团-勇敢消防员游戏截图1.2.2消防员游戏在国外的研究现况国外消防员题材游戏主要以老牌IP“消防第六分队”“急难先锋”等策略性游戏为主,玩家主要是上帝视角2.5D控制角色进行救援任务,科普性极高
14、,可玩性也高,但是玩家的代入性却不高。以“消防第六分队”游戏为例,玩家需要控制的是多名消防员进行救援任务,但是在游戏的过程中,很容易专注于一个任务点的救援任务而忽略某个任务点的消防队员,导致其死亡。当消防员出现危险时,游戏小地图会出现一个红色感叹号,但是在某处即将发生爆炸时,地图也是出现红色感叹号,玩家很容易将二者搞混,导致角色死亡。虽然此类游戏科普性极高,将各种火情的灭火条件都一一区分,例如水是无法熄灭油罐车的火情等等,但是如果是采用第一人称的话,玩家可以更好的代入这个职业当中,从而有更加深刻的印象。消防第六分队游戏截图如下图1-2所示:图1-2 消防第六分队游戏截图1.3本次课题的研究设计
15、使用的开发软件1.3.1 Unity3D在当今电子游戏越来越得到人们重视的社会,Unity3D也成为了绝大多数游戏开发者首选的开发3D引擎,虽然名字中带着3D二字,但是Unity3D也在2D游戏开发上有着极其优秀的表现。首先Unity3D采用的ALL IN ONE设计思路,使得开发者使用其开发游戏时极其方便,它将所有的编辑器集于一身,这可以让你对模型操作时只需要简单的选中模型、右键、弹出材质编辑器,然后对它的材质,碰撞体,结构等进行操作即可,让人觉得是在操作模型本身。其次Unity3D能够在编辑后立刻运行,查看效果,也可以在运行时修改游戏中的参数,可以实时看到你所作的调整,而当你停止运行时,你
16、在游戏中所修改的参数也将失效,避免因为调整而忘记自己最开始所设置的参数,称之为“所见即所得”。再者Unity3D拥有独一无二的开发者商城 Asset Stone,我们可以在这商城中购买到其他开发者开发的插件,可以用来借鉴使得我们得到更好的思路以摆脱当前所面临的困境,这是在其他游戏开发引擎中所不具备的特点之一。1.3.2 3D Studio Max3ds MAX软件是由Discreet公司开发的用于打造三维动画渲染的软件,后来被广泛应用于游戏开发建模以及建筑设计和影视行业等领域。本次课题研究开发的游戏也将借助于3ds MAX强大且灵活的模型制作能力,对游戏中出现的楼房、场景中燃烧的物品以及相关的
17、消防设备等模型进行搭建。1.3.3 Microsoft Visual Studio本次课题研究开发的游戏是基于C#语言所开发的,因此利用的开发工具集是微软公司开发Visual Studio。Visual Studio配合Unity游戏引擎开发游戏的最佳搭档,能够利用其强大的调试功能来帮助使用者调试Unity游戏而快速发现问题。1.4本次课题的主要研究内容综合前文论述,本次课题是以Unity3D游戏开发引擎作为开发工具,并以3D Studio Max模型制作软件为技术辅佐,研发的一款第一人称实现消防训练、现场灭火以及火场救出人质等工作从而完成救援使命的消防员角色扮演游戏。第二章 游戏的需求分析与
18、总体设计方案2.1 消防员角色扮演游戏的需求分析2.1.1 玩家需求分析一个游戏的好坏,在于玩家觉得这款游戏是否好玩,而好玩二字无非体现在这款游戏能否让玩家在其中体验到:乐趣、吸引力、控制力以及挑战性,因此玩家最直观的需求也是以上几点。所以此游戏要求拥有1.简单方便的操作模式;2.真实的火灾体验感;3.拥有挑战性的关卡。这样一来才能够让玩家有欲望玩下去,而不会半途而废。2.1.2 功能需求分析本游戏采用的视角为第一人称,结合消防员这一职业,需要使得玩家拥有面对灾难的真实感觉,必须紧紧围绕“真实”二字来实现游戏的整体。首先,为了保证玩家在游戏初期训练关卡中能够快速学习游戏的控制方式,需要玩家与游
19、戏的交互方式简单方便,并且有一定的交互反馈能让玩家体验到。其次,由于本游戏采用的是第一人称视角,因此在游戏关卡中所设置的“火焰效果”以及“烟雾效果”必须要真实,风格不可以为卡通风或者太过于假,拥有贴近现实的“火焰效果”以及“烟雾效果”能够极大程度的提升玩家对游戏的体验感。但是粒子效果也需要“适当”,不能因为追求华丽而对游戏性能造成影响。最后,还是围绕“真实”二字,制作氧气量的消耗。经过分析,在很多的救援案例中,百分之六十的消防员都是因为缺氧而导致伤亡,火焰燃耗会剧烈消耗氧气,再加上现场的燃烧产物有一氧化碳以及二氧化碳,这些都会造成消防员缺氧。因此打造一个氧气量消耗是十分必要的,能够极大提升游戏
20、真实感。综上所述,将本次课题开发的游戏的功能需求大致分为以下几个模块:(1)人机交互:玩家通过使用键盘的WSAD四键来控制人物移动,空格键控制人物跳跃,再通过几个设置的按键进行触发设定好的效果。鼠标控制人物视角,左键控制激活水枪发射灭火剂、灭火器发射灭火剂等效果。(2)粒子效果:火焰粒子效果与烟雾粒子效果必须做到真实。不同的火焰需要区分开来,只有使用与之相对应的灭火器才能完成灭火操作;而烟雾则需要做到当火焰被熄灭时从燃烧物体上出现,以此提升玩家的真实感。(3)物理效果:人物在特定场景内会慢慢消耗事先设定好的氧气量,并且在氧气量消耗殆尽时会降低身体健康值,当身体健康值降为0时,会造成角色死亡,任
21、务失败。游戏大体功能需求分析如下图2-1所示:图2-1游戏大体功能需求分析图2.1.2 性能需求分析一款好的游戏,除了它的可玩性要高、内容要足够丰富以外,还需要控制它对机器性能的损耗,如果这款游戏不能够流畅的运行,那么将会极大程度的降低玩家的游戏体验。但是,在本次课题研究开发的游戏当中,制作真实的火灾现场必定会使用很多的粒子效果,而过多的粒子效果必然会损耗较多的机器性能,从而影响游戏性能。因此,在面对这些情况,必须在其它功能方面尽可能选择对机器性能损耗较低的方法实现。2.2游戏的总体设计方案2.2.1游戏结构设计方案本次课题研究开发的游戏结构以简单方便为主,使得玩家玩家达到快速上手游戏的目的。
22、本文游戏结构简单分为开始游戏游戏主界面进行训练/直接开始正式任务任务成功/任务失败重新开始任务/退出任务主界面选择关卡/退出游戏,游戏结构详情如下图2-2所示。图2-2 游戏结构图2.2.2总体结构设计方案结合上文所述,可以得出本次课题研究开发的游戏总体模块的架构如下图所示:图2-3游戏总体模块架构图对于本次课题研究开发的游戏中各个模块的具体分析如下:(1)人机交互模块:游戏中的主界面、开始游戏界面以及游戏进行时的UI界面均由Unity3D游戏开发引擎中自带的UGUI模块来设计,使用C#脚本来监听识别玩家的操作,再通过UI的变化告知玩家此操作对游戏带来的影响,以此完成一系列的人机交互。在交互反
23、馈方面,使用C#脚本编辑模块监听识别玩家的键盘输入或者鼠标点击事件,通过UI的颜色变化或者放大缩小又或者UI颜色递减等方式与玩家进行交互,例如当玩家点击开始任务按钮可以通过按钮的变化来告知玩家是否已经点击到按钮;而在游戏训练关卡中,会以一部分字牌方式来提醒玩家。(2)游戏功能模块:游戏场景将使用由3ds MAX制作或修改的游戏建筑模型,配合Unity游戏开发引擎自带的Terrain地形编辑组件搭建完成。在救援现场建筑模块中,建筑模型的表面将配合火焰粒子效果以及烟雾粒子效果而制成真实的灾难现场效果。在建筑内部模块中,同样会添加火焰粒子效果以及烟雾粒子效果,同时再加入Unity游戏开发引擎中自带的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Unity3D 消防员 角色扮演 游戏 设计 实现
限制150内