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