基于Unity3D的横版过关游戏设计与实现.docx

上传人:封****n 文档编号:96763930 上传时间:2024-03-19 格式:DOCX 页数:27 大小:1.87MB
返回 下载 相关 举报
基于Unity3D的横版过关游戏设计与实现.docx_第1页
第1页 / 共27页
基于Unity3D的横版过关游戏设计与实现.docx_第2页
第2页 / 共27页
点击查看更多>>
资源描述

《基于Unity3D的横版过关游戏设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Unity3D的横版过关游戏设计与实现.docx(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、摘要随着互联网不断地普及,游戏逐渐走进了人们的生活,受到了广泛的关注和喜爱,其中各种风格类型的游戏蓬勃发展,但主打便捷性以及大众性的游戏还比较少。为此,研究设计了一款以横版过关为核心玩法的2D游戏。本次研究将实现一款基于Unity3D的横版过关类游戏,本游戏以跑酷为主要玩法,加上收集、过关等要素。结合了当代2D游戏的开发思路和研究方向。以玩法丰富和独特的风格设计吸引玩家。给与玩家休闲娱乐的同时又增添了许多刺激和挑战,适合大部分玩家游玩。首先,本设计以关卡系统为核心,基本确定了想要传达的游戏内容和制作方法。本文详细介绍了通过跑酷这一核心要素开展各种有趣的玩法设定,能给予玩家很多意想不到的挑战和惊

2、喜。在各种玩法的衔接上,给予玩家一定的“学习”时间,让游戏体验更加紧凑,游戏体验也更佳。在交互反馈上,通过相应的UI动画和反馈音效让玩家能感受到游戏的反馈,从玩家的角度出发进行设计。综上所述,本文研究实现的跑酷类过关游戏具有创新性高,趣味性强等特点。实现过程不仅加深了自己对游戏开发的理解,还能提供很高的研究及应用价值。关键词:Unity3D 关卡设计 跑酷类游戏AbstractWith the continuous popularization of the Internet, games have gradually entered peoples lives and have been w

3、idely attention and love. Among them, various types of games are grow vigorously, but the main convenience and popular games are relatively few. For this reason, a 2D game is designed with the platform level as the core.This research will implement a cross-level game based on Unity3D. This game uses

4、 parkour as the main gameplay, with some elements such as collection and clearance. It combines the development ideas and research directions of contemporary 2D games. Attract players with rich gameplay and unique style design. It adds a lot of excitement and challenges to the players while being en

5、tertained, which is suitable for most players to play.First of all, this design takes the level system as the core, and determines the game content and design method. This article details the various interesting gameplay settings through the core element of parkour, which can give players many chall

6、enges and surprises. In the connection of gameplay, give players a certain learning time, making the game experience more compact and better.In interactive feedback, the player can feel the feedback of the game through the UI animation and feedback sound effects, and design from the perspective of t

7、he player.In summary, the parkour-based level-crossing game researched and implemented in this article is highly innovative and interesting. The implementation process not only deepens my understanding of game development, but also provides high research and application value.Key words: Unity3D Leve

8、l design Parkour games广东东软学院本科生毕业设计(论文)目录第一章 绪论11.1 研究目的及意义11.2 国内外研究现状21.2.1国内研究现状21.2.2国外研究现状21.3 研究内容及研究方法3第二章 Unity引擎介绍42.1 Unity引擎简介42.2 Unity引擎开发的优势42.3 Unity游戏脚本分析4第三章 游戏的需求分析53.1玩家需求分析53.2功能需求分析53.3性能需求分析6第四章 游戏设计与实现74.1 游戏结构设计74.2 UI设计74.2.1开始界面74.2.2设置界面94.2.3暂停界面94.2.4结束界面104.3游戏关卡系统设计114

9、.4游戏场景系统设计134.4.1 场景编辑134.4.2 Cinemachine功能144.4.3 复活功能154.4.4 敌人AI164.4.5 游戏交互164.4.6 音乐控制184.5本章小结18第五章 游戏测试195.1功能测试195.2性能测试205.3 游戏测试结果分析20第六章 总结与展望21参 考 文 献22致 谢2323第一章 绪论1.1 研究目的及意义如今,随着全球互联网行业的发展和电脑、手机、IPad等电子设备的更新迭代,网络游戏的各种载体和类型不断丰富,目前市场上的各种类型游戏品质不断提高,各种不同游戏类型均有庞大的受众群体。电子游戏已经成为了现代人们业余消遣的不二之

10、选,不仅有大量类型的游戏满足不同玩家的胃口,还有各类小程序游戏满足了上班族紧迫的生活节奏。使得他们能在高速发展的环境中得以放松以及体验到游戏带来的乐趣。随着大部分学生以及上班族都在追求时间利用率的最大化,以传统主机游戏为载体的各类家用游戏机已不能满足时间较为紧迫的上班族,追求简单、高效的pc、移动平台游戏越来越受到了青年一代学生和上班族的青睐。如今发展更为便携更为高效的小游戏逐渐成为了市场的需求,目前国内各大游戏公司也在努力往这类游戏发展,可见此类游戏的发展前景。毋庸置疑,这已经成为了现代生活中各群体享受生活的绝佳选择。但目前游戏性更为直接以及大众性的游戏还比较少。为此,研究设计了一款以横版过

11、关为核心玩法的2D游戏。随着商业化游戏开发引擎的不断壮大和完善,目前越来越多的游戏引擎能满足各大游戏厂商和游戏开发者的需求。例如Unity3D、Unreal、寒霜引擎等等,同时由于Unity3D引擎的受众广泛、入门更为简单等特点,已经成为了更多入门开发者的选择,相较于游戏行业初期需要开发者从第一行代码从“零”开始搭建基层代码,游戏引擎对于基层代码的封装无疑让我们减少了很多重复性的代码编写。Unity应用广泛的另一个原因就是其跨平台的特性,使得开发者只用学习一种语言就能进行跨平台开发。同时Unity官方发布的大量开源免费资源和插件使得让看起来较为复杂的游戏开发也变得更为简单同时还不失趣味性以及专

12、业性。为广大游戏厂商和游戏开发者带来了很多便利性。如今,2D类游戏的发展已经受到了很多玩家的追捧,大多数的热门作品都以叙事、美术和创意吸引玩家。完整的世界观、独特的美术风格和具有创意的玩法已经成为了当代优秀作品的标配。玩家往往能从中获得游戏快乐的同时也了解了一个全新的世界观,代入感强且能获得一定的共鸣。但往往这类丰满的游戏需要几十甚至上百小时的时间去完整地体验,不能满足很多时间有限的学生和上班族。因此,本次研究设计结合了2D游戏的优势,同时又以能快速体验游戏乐趣的方向,开发了一个2D跑酷类的游戏。1.2 国内外研究现状1.2.1国内研究现状中国大陆的游戏行业发展始于PC的单机游戏,但跟随着网络

13、游戏的蓬勃发展和盗版游戏市场的泛滥让本就不热门的单机游戏更加小众化,随着近年来电子竞技的蓬勃发展,pc的电子竞技类游戏凭借其良好的运营和广阔的发展空间占据了市场的一大比重。目前主流的电子竞技项目以国外厂商的游戏作品国内运营为主。2019年,Unity每个月的活跃用户规模达到600万,而在2016年,全球的Unity用户仅为650万,因此,Unity的发展是极为迅速的,也被国内越来越多的开发者使用。在国内,过半数的手游是使用Unity开发的,而PC、主机游戏占到了30%-40%,AR、VR则是2/3左右。使用Unity开发的游戏在市场上可以说比比皆是。在2018年的China Joy上,国产游戏

14、中,以古风浓郁为代表的西山居游戏吸引了众多玩家,剑网3等中国风游戏融入了大江湖的元素吸引了一大批古风爱好者。中国作为文明古国,自然也打造出了中国风等能够深受人们喜爱的文化符号,使中国的游戏产品拥有更大的发展空间。1.2.2国外研究现状国外的游戏现状则与国内有较大的区别,首先国外以传统主机游戏为主。PS4、Xbox、Switch御三家几乎占据了所有的主机市场。其中育碧、CDPR、Rockstar Games等游戏大厂推出的各类单机游戏都堪称经典。这些游戏大厂往往能做出高成本、高体量、高质量的3A游戏来满足全世界的游戏爱好者。2004年,Unity诞生于丹麦并在2005年将总部设立在了旧金山,发布

15、了Unity1.0版本。国外的Unity研究相较于国内起步时间更早,且优秀的作品也更多。曾经风靡一时的经典作品神庙逃亡2仅发布13天,下载量就突破了5000万。仅由3人组成的Team Cherry工作室开发的具有庞大背景故事和剧情设定的2D游戏空洞骑士吸引了全球的2D游戏爱好者,如图1-1所示。还有暴雪的卡牌游戏炉石传说等。这表明国外的Unity研究和发展都比国内要早很多,值得我们学习。其中,优秀的关卡设计能给玩家带来情感的独特体验。1而这些游戏都有非常强大的关卡系统,以此看出关卡设计的重要性。图1-1 Team Cherry使用Unity开发的游戏1.3 研究内容及研究方法本次课题主要是以U

16、nity3D游戏开发引擎设计的一款横版以关卡跑酷为主要类型的游戏,本次设计主要功能和内容有以下几个方面:(1)以独特的关卡和丰富的玩法为游戏的核心通关方式,相比于普通的跑酷类游戏,具有入门较简单,可拓展性强等特点,因此游戏的玩法就成了吸引玩家最重要的一点。本次设计共有5个关卡,其中每个关卡都有其独特的进行方式,极大的激发玩家不断往前探索的乐趣。(2)游戏里不同玩法里不同特效的实现,主要包括粒子特效,还有搭配相应的音效以让玩家达到身临其境的感觉。此外还通过弹窗UI的效果在某些地点引导玩家游戏如何进行。(3)研究方法主要是结合了当代游戏开发的方向和高效性的原则进行。因此游戏的画风和标题的设计就尤为

17、重要,好的画风以及标题能让玩家迅速被游戏所吸引,同时玩家又不需要花费大量的时间沉浸在理解和探讨游戏的内容中,只需直接高效地从游戏中获得游戏体验。第二章 Unity引擎介绍2.1 Unity引擎简介Unity是一款由Unity Technologies公司开发的一款商业游戏引擎,作为一款在中国受众最广的游戏引擎之一,它搭载了完美的跨平台系统,节省了开发者的开发周期。Unity具有层级式的综合开发环境以及可视化编辑,使用C#语言快速上手,这大大降低了游戏引擎的门槛,因此本课题将选择Unity引擎开发,本节将从Unity引擎开发的优势、Unity脚本分析两个方面来对Unity进行简要介绍。2.2 U

18、nity引擎开发的优势一个优秀的游戏引擎可以很大程度地提高开发效率,缩短开发周期的同时为开发者提供了便利。目前国内外市场上已经有许多技术完善的游戏引擎。例如Cocos2d、Unity、Unreal等,Unreal引擎采用了目前最新的光追系统、HDR光照、虚拟位移等新技术,可以实时渲染出电影CG级的画面,效果惊爆眼球。2而Unity引擎的优势在于其跨平台性并且入门快、应用广,更符合目前国内市场的需求。同时Unity提供的丰富的API接口能快速地满足开发者的需求,通过这些API,开发者能很方便地调用来实现想要的功能,同时Unity官方还配有API文档和用户手册来提供给开发者学习如何去使用它。其次,

19、Unity还内置了NVIDIA的PhysX物理引擎,PhysX是目前使用范围最广的物理引擎,开发者可以通过物理引擎高效、逼真地模拟刚体碰撞、布料、重力等物理效果,使游戏画面更加真实和生动。Unity还提供了内置的UGUI系统,即Unity图形用户界面,UGUI有着非常丰富的功能,可以非常方便地制作出想要的UI效果。2.3 Unity游戏脚本分析游戏脚本在一款游戏的开发中扮演着至关重要的角色,游戏脚本控制着游戏的正常运行。目前Unity支持C#语言(最新版本中JS、BOO已被放弃支持)进行开发,C#是一个面向对象的、运行于.NET Framework之上的高级程序设计语言。优秀的编程语言往往强大

20、而灵活,语法简单清晰,能够不断支持新功能。3所以使用C#来开发Unity是很好的选择。第三章 游戏的需求分析3.1玩家需求分析本次设计的游戏适合绝大多数玩家,其中主要目标群体为缺乏大量时间去深入玩游戏的轻度玩家。正因为其突出的高效性和操作简便、游戏反馈好等特点促使了玩家能更容易、快速地感受到游戏的核心玩法和游戏乐趣。此外丰富和巧妙的关卡设计和独特的美术风格能让玩家有继续探索的欲望。3.2功能需求分析由于本游戏的玩家群体目标为适合大多数玩家,因此游戏风格上不能太过小众,要选用适合大部分人的美术风格,同时在现有的美术基础上加上一些特定的粒子效果提高视觉效果。首先,独特的关卡设计和逐渐增加难度提高了

21、游戏的完整性和合理性。使玩家在不断探索的同时获得一定的成就感。关卡难度不断加大的同时又让每关都有不同的玩法,让玩家不会感到重复感强。在一些难度较低的关卡中还会增加相应的AI来增加游戏乐趣。同时在高难度的关卡中为了游戏的连贯性和游戏体验则没有添加AI,这样才能更符合“跑酷”这一预期设定。其次,“收集”这一要素贯穿整个游戏的所有关卡,收集金币是很多游戏的核心要素之一,能提高游戏的玩法和耐玩性。同时金币的摆放也能在一定程度上影响玩家的想法和玩法。是一个能正确引导玩家的好方法。最后,还通过增加显示游戏时间的功能来对玩家最终到达终点的时间进行显示,反映了游戏通关的时长和水平。让玩家对自己这一关的水平有一

22、定的了解,同时也是一个玩家互相比拼的游戏水平。综上所述,本次研究设计的游戏功能可以分为以下几个模块:(1)人机交互:玩家通过鼠标和键盘按键等操作对游戏里的人物、UI等系统发生交互,并且有交互简单高效、游戏反馈明显等特点,提高玩家的游戏体验。(2)关卡设计:通过设计玩法不同、难度递增的关卡让玩家感受到游戏丰富的体验和一定的成就感,提高游戏对玩家的吸引力。根据每关难度的不同,又分为AI、加速、地面隐藏、地面移动、增强跳跃等功能,相应地增加游戏的玩法和难度。同时搭配不同颜色的风格来渲染出符合游戏玩法和难度的颜色。因此本设计的核心功能是关卡系统的设计,既要符合合理的难度搭配和风格设定,又要让玩家在体验

23、的过程中感受到乐趣是本次设计的核心。游戏的大致功能如图3-1所示。图3-1 游戏功能规划图3.3性能需求分析一个游戏是否能吸引到大量的玩家,除了有独特的玩法、丰富的内容和精致有特色的美术以外,游戏的性能如何也是考量一个游戏是否成功的标准之一。由于本设计独特的美术风格,加上游戏的类型为2D,游戏粒子特效较为简单等,游戏本身的性能较为优秀,通过合理的删除场景不必要资源即可保证游戏的运行流畅。第四章 游戏设计与实现4.1 游戏结构设计由于本次设计主要目标对象为缺乏大量时间去体验游戏的人群,所以游戏的结构应以快速上手和简便为主,不能太过复杂。游戏结构如下图4-1所示。图4-1 游戏结构设计图4.2 U

24、I设计4.2.1开始界面图形与用户界面(GUI)是一个允许使用键盘、指点设备(鼠标、跟踪球或者触摸板)及显示器与自己算计交互的程序4。玩家通过输入键盘和指点设备来显示到屏幕上,在整个游戏中GUI扮演者很重要的角色。目前新版本的Unity中自带的UGUI系统已经较为成熟,功能齐全,运行效率高,且本次设计的GUI需求量较小,所以选择UGUI系统和OneMinuteGUI插件结合进行开发,原因是这款插件可以提供很好的UI动画效果,增加游戏的乐趣,且游戏资源占用率不高,能保证游戏的流畅运行。游戏UI设计的重点其实在用户界面的交互上, 它不仅仅是漂亮、华丽、符合游戏风格。5而游戏开始界面是一款游戏UI的

25、重中之重,因为这是玩家第一眼所看到的画面,画风需要简单贴切,切合主题,营造出跑酷类游戏的欢快感。首先,创建UGUI画布Canvas,这是GUI系统的必备组件,所有的UI都要在Canvas下才能显示。开始界面的背景是游戏中某个关卡的截图,能很好贴合游戏风格的同时展示了游戏中加速的彩带效果和收集金币的功能,在一定程度上揭示了游戏的主要玩法。便于玩家了解整个游戏的风格。在“开始游戏”、“设置”、“退出游戏”三个Button组件上采用了透明的风格和白色的字体,增加了玩家的舒适感。然后在Button中的OnClick方法中添加2个事件,一是使用OnLoadSceneAddtive方法实现场景的叠加跳转,

26、同时开始场景仍在底层显示。二是添加一个AudioSource.PlayOneShot方法实现点击事件的时候触发音效,增强游戏的代入感。游戏界面设计并不是单纯的平面美术设计, 其往往会融合一定的工业设计元素。6在游戏Logo的制作上,采用了2种不同字体的结合,进一步营造出游戏的自由轻松的感觉。在字体的颜色上采用了5个不同关卡的主题色渐变得来。最后通过创建2个Render Texture绑定在2个不同的Camera上生成2个有动画效果的RawImage搭在游戏的Logo上,实现在UI界面上展示动画的效果,增加了游戏的艺术感及活泼感。在开始页面的背景音乐上,选择了一首活泼快乐的音乐,激起玩家的兴趣,

27、让玩家体会到游戏的轻松。同时在切换至游戏界面的时候音乐的切换不能太突兀,因此要选择2首风格相近的音乐,保证游戏的连贯性。综上所有设计开始界面的方法,开始界面最终效果如下图4-2所示。图4-2 游戏开始界面4.2.2设置界面设置页面主要功能有游戏玩家的控制指南和游戏音量的调节。本页面采用的是OneMinuteGUI插件进行设计。如图4-3所示。图4-3 设置界面4.2.3暂停界面本次设计是有时间计算的跑酷类游戏,因此设置暂停功能是很有必要的,在每个关卡的右上角添加一个Image组件并添加Button组件使得它具有点击功能,在OnClick中添加OnPause方法,点击时Time.timeScal

28、e = 0,实现游戏暂停并设置暂停菜单的激活状态为True。需要注意的是,设置Time.timeScale = 0以后暂停界面的UI动画也会暂停不能正常显示,需要在Button组件上设置Animator的Update Mode为Unscaled Time不受暂停的影响。在切换场景的Button中使用OnLoadScene方法。点击事件音效和上述相同,在此不作详细介绍。暂停界面如图4-4所示。图4-4 暂停界面4.2.4结束界面结束界面主要有显示游戏用时和显示收集的金币数量功能,跳转界面同样使用OnLoadScene方法。较为复杂的是需要在结束时将场景中记录的时间TimeSpend传递过来最后还

29、需要转换成分:秒:毫秒的形式呈现在结束界面上,具体实现的代码如下图4-5所示。图4-5 结束界面时间显示主要代码通关后游戏处于暂停状态,粒子效果的生成同样需要在Button组件上设置Animator的Update Mode为Unscaled Time不受暂停的影响。收集金币的数量则需要一个变量在每次吃到金币后自增,然后通过.text传递到UI中。场景的切换功能与上述相同。结束界面实现效果如图4-6所示。图4-6 结束界面4.3游戏关卡系统设计在本次设计中,关卡系统是整个游戏的核心系统,它既承担了每个游戏的主要玩法、通关流程和游戏节奏等大量元素。游戏中的路线, 建筑群, 资源等要素的摆放位置直接

30、关系到了游戏体验的效果。7本小节将对关卡系统方面进行详细介绍,关卡系统主要由关卡选择,难度设定,关卡美术风格和每个等方面进行概述,关卡系统如表4-1所示。表4-1 游戏关卡系统首先游戏共分成五大关卡,分别对应了不同的核心玩法和具有相应辨识度的美术风格。其中收集金币的玩法是贯穿整个游戏的基本玩法,玩家在每关都可以根据需要收集金币,也能追求时间极限不收集金币,取决于玩家本身,给予了玩家一定的自由度。游戏的前两关都较为简单,第一关以教学为主。在地图略大的第二关和第三关加入了敌人AI系统,增加游戏乐趣的同时避免了游戏关卡拉长所带来的沉闷感。第三关开始游戏进入节奏较快的关卡,玩家在开头能通过一个加速板获

31、得速度的提升。加速效果是创建一个Box Collider 2D,检测当人物通过时速度增加,并把附在游戏物体上的粒子效果设置为true,实现一个加速后的彩带效果,增强游戏的画面感,同时为了玩家得到更好的游戏反馈,还需要在碰撞检测后触发一个音效AudioSource,通过AudioSource.PlayOneShot可以控制音效在通过时只播放一次就停止。加跳跃能力功能与上述类似,也是通过检测来增加弹跳能力并开启粒子效果。第四关所包含的隐藏地面效果是使用InvokeRepeating方法来制造出地面的Box Collider随着时间不断激活和禁用的过程。通过设置好time和repeatRate参数就

32、能设计出想要的渐变效果。同时为了让玩家能够看出渐变的效果,需要将所属地面的透明度也随着时间而降低,通过GetComponent().color来设置RGBA中a的值来实现透明效果。从而给玩家传达较为清晰的视觉效果。实现效果如图4-7和4-8所示。图4-7 Collider激活 图4-8 Collider禁用而地面的移动效果需要用到Vector3向量然后使用Mathf.PingPong的方法传递给需要运动的轴向,然后还要传递一个不断变化的参数Time.time实现类似乒乓球效果,如果需要改变速度,就需要乘以一个系数。最后还需要一个参数表示开始运动的方向和距离。第五关是游戏最后的一个关卡也是最难的

33、一个,它集合了本次设计所有的玩法,同时在地图的编辑上也更为灵活,由于核心技术都在上文讲解过,在此不作详细说明。最后,关卡系统的设计对于游戏的重要性不言而喻,关卡是给予玩家体验,传达游戏内容最直接有效的方法。本设计通过入门、掌握、中等、较难、难的难度设定能很好的划分关卡之间难度的阶梯,确保每一个关卡都有其存在的价值,让玩家感受到逐步深入游戏和探索的过程,其次通过触觉、视觉、听觉的反馈基于玩家一定的刺激,这便是关卡系统的核心要素。4.4游戏场景系统设计4.4.1 场景编辑在2D类游戏的场景编辑中,Unity就用非常强大且方便的功能TileMap。这个功能大大提高了场景编辑的开发效率。在Hierar

34、chy面板上依次点击Create-2D Object-Tilemap 新建Tilemap,随后Unity将自动创建一个Gird的父对象和一个Tilemap的子对象。TileMap主要由以下几部分组成:(1) Sprite(精灵):纹理的容器。大型纹理图集可以转换为精灵图集(Sprite Sheet)。还能由多个Sprite做成动画效果。(2) Tile(瓦片):包含一个精灵,以及二个属性,颜色和碰撞体。可在画布上选择不同的Tile填充。(3) Palette(调色板):用于保存Tile,将Tile进行预处理,方便后续将它们绘制到网格上。如图4-9所示。(4) Brush(笔刷):Brush可将

35、画好的Tiles绘制到画布上。使用Tilemap时,可以在内置的多个笔刷中任意选择,绘制理想效果。(5) Grid(网格):用于控制网格属性的组件,类似于UI Canvas。图4-9 Palette功能随后需要分别创建不同层级的TileMap将不同的Tile绘制在场景上,如图4-10所示。图4-10 绘制TileMap4.4.2 Cinemachine功能一个Unity内置的用于控制玩家移动时镜头移动的组件,相比于普通的Camera,Cinemachine能更有效地管理Camera,且具有更丰富和方便的可视化调节功能。依次点击菜单栏上的Cinemachine-Create Virtual Ca

36、mera即可创建一个最简单的Cinemachine。创建后的Inspector面板如图4-11所示。图4-11 Cinemachine功能首先把人物拖到Cinemachine的Follow下就能实现镜头的跟随。图中第二个框Orthographic Size可调节视野大小,根据实际测试效果设置为4。Game窗口中的效果如图4-12所示。图4-12 Game视图中的Cinemachine摄像机会根据黄点来控制镜头的跟随,在透明区域Dead Zone移动时,摄像机将不会进行跟随,有效防止镜头的频繁抖动造成玩家不适感。当玩家移动到蓝色区域时,镜头会缓慢跟随使目标在中间的透明区域。红色区域为不可到达区域

37、,镜头跟随过程中人物是不会到达这些区域的。Screen X和Screen Y则可调节镜头中左右偏移量的大小,因为本设计向右为前进的跑酷类游戏,所以Screen X应设置镜头往左偏移从而取得更大的前方视野。如图3-11可知,Cinemachine还有一个组件Cinemachine Confiner。需要创建一个Polygon Collider 2D类型的碰撞体来限制摄像机移动的边界,防止玩家掉出地面后摄像机的继续跟随。效果图如4-13所示。图4-13 限制摄像机移动的Collider4.4.3 复活功能游戏场景中,每相隔一定距离会有一个RespawnPoint来保存玩家当前的位置。当人物掉入死亡

38、区域或者碰到敌人AI时,人物会立刻死亡,并在3秒后回到上一次保存的复活点,每一个RespawnPoint都是一个单独的Box Collider,当人物经过时,就会自动记录位置,便于复活时回到正确的位置。同时使用协程可以控制死亡后延迟复活的时间,使游戏更加真实。具体代码实现如图4-14所示。图4-14 人物复活功能实现4.4.4 敌人AI本游戏由于主题是以跑酷为主,AI功能并不是主体,因此只在功能较少的第二关和第三关添加了相应的AI。AI也是通过碰撞体Collider来检测玩家是否碰到AI,如果碰到则人物会死亡,并于三秒后回到上一次复活点,同时为了增强AI的功能性,还需要设置AI的移动,我们采用

39、了Mathf.PingPong的函数来控制AI的左右巡逻,通过Time.time这个不断变化的值来得到参数t,float类型的变量v来控制左右移动的距离。再加上AI的初始位置则可完成AI在相应位置的巡逻。具体实现如图4-15所示。图4-15 敌人AI巡逻实现4.4.5 游戏交互本游戏的交互与一般的跑酷类游戏相似,以键盘左右键和空格键为主要操作方式。相对简单和快速上手。具体的实现大致可分为以下三点:(1) 人物的移动:直接控制transform.position来实现角色的移动,通过Time.deltaTime和速度的乘积得到运动的量再乘以Input.GetAxis(Horizontal)所获得

40、的键盘输入量来得到人物位移的距离。同时在动画的设置上还要把h的值设置成自身的绝对值再传递给控制人物跑动的“Speed”,使得只要人物移动不管方向都能触发跑步动画的播放,如图4-16所示。图4-16 人物移动具体实现(2) 人物的跳跃:通过判断键盘是否输入空格键,以及可跳跃状态后才可进行跳跃。用AddForce来给人物一个y方向的力实现跳跃,同时需要将isJump设置成False防止人物在空中再次触发跳跃。具体实现如图4-17所示。图4-17 人物跳跃具体实现(3) 人物的翻转:在实现移动和跳跃后,人物仍不能很自然的进行运动,原因是人物的朝向无论向左还是向右都不会变,这并不符合实际的情况,所以我

41、们需要写一个Flip方法使得人物朝向正确地配合左右移动。在Flip方法中我们需要得到人物的Scale并乘以-1再赋值给localScale。然后在Update中我们只需把h0且朝向不为右的时候以及h0朝向为右的时候调用Flip方法实现翻转。同时,因为FacingRight的初始值为True,这会导致向左移动时,一直调用Flip方法重复翻转,所以需要用FacingRight = !FacingRight来解决这个问题。具体实现如图4-18所示。图4-18 翻转功能实现4.4.6 音乐控制关于音乐的控制中BGM的控制较为简单,只需添加一个Audio Source组件在场景中的任意物体上即可。通过拖

42、拽音乐文件到AudioClip上实现播放功能,且需要勾选Play On Awake和loop功能。音效的控制本游戏主要音效分为死亡、跳跃、收集、速度提升、跳跃提升、游戏结束6种不同的音效。具体实现为将音乐文件拖拽到脚本上即可。AudioListener聆听者,相当于AudioSource的耳朵,用于接收和控制AudioSource播放的音频。其中volume参数可以调整游戏中音量的大小,可以满足不同玩家的需求。在设置和暂停界面中都有音量的调节功能,这时我们要用AudioManager来管理这些音乐。用AudioListener.volume= slider.value把volume的值给到sl

43、ider控制,实现在UI上可调节音量的功能。4.5本章小结参考了现在2D跑酷类游戏的整体开发方向以及思路,根据本设计中的需求分析和预定的目标和想法,从UI设计、关卡系统设计和场景系统设计详细分析了本设计制作过程的心路历程和遇到问题的解决方案。最终实现了游戏的开发和设计。第五章 游戏测试任何一款游戏都需要进行严格的游戏测试,本章节将对游戏进行功能测试和性能测试,确保游戏的功能可行和性能优秀。用于测试的计算机软件及硬件环境如表5-1所示。表5-1 测试用计算机软件与硬件环境软件与硬件环境参数CPUInter(R) Core(TM) i5-4590 CPU 2.20GHzGPUNvidia GeFo

44、rce GTX 660内存16GB操作系统Windows 专业版 64位Unity版本2019.2.1f15.1功能测试将本次设计的游戏在Unity游戏引擎中Build出为Pc端的exe应用软件,对其进行功能测试。测试方法采用黑盒测试来观察游戏各项功能是否正常运行。综上,根据各方面的功能测试,本设计的功能测试的结果如下表5-2所示。表5-2 游戏功能测试结果测试项目操作方法操作结果人物移动左/右/Space可行摄像机跟随人物移动、死亡可行场景跳转依次点击每个场景间的跳转可行事件交互暂停功能、结束游戏功能可行动画播放人物静止、跑动、跳跃播放可行UI交互触发每个UI并点击每个UI的按钮可行粒子效果

45、进入指定碰撞体后触发可行音乐与音效操作人物触发各个音效、调节音量可行5.2性能测试性能测试中我们采用的是官方的UPR软件来进行测试,测试结果如图5-1所示。图5-1 性能测试结果根据图中测试可以看出平均帧率稳定62帧,同时测试评分也达到了91,可以说是性能非常优秀的游戏,也达到了跑酷类游戏的基本要求。5.3 游戏测试结果分析在本游戏的测试中,在进行了多次测试以后,未发现功能性问题和性能问题,能满足玩家对游戏的性能要求。玩家可通过键盘、鼠标正常进行交互,人物、摄像机跟随正常,场景跳转、事件交互、UI交互,粒子效果和音乐音效都能正确反馈,根据测试结果可以说明:本游戏画面运行流畅,功能正常,对CPU

46、、内存占用量小,能给玩家较好的游戏体验。第六章 总结与展望在整个游戏开发的过程中,我收获了很多Unity相关的知识和游戏设计的技巧,在本次设计中,我的主要研究工作包括以下几点:(1) 通过研究目前市面上优秀的2D跑酷类游戏,总结出了目前2D类跑酷游戏的开发方向以及开发的核心,同时还对关卡的设计模式进行了学习,在上文中提到过,关卡是给予玩家体验,传达游戏内容的方法,同时关卡的设计还要合理,根据不同的难度梯度给予玩家良好的游戏体验,还要考虑设计的目的、玩家是否能理解等。通过对关卡和设计方向的研究我很好地总结了自己的设计方法并运用到了开发当中。(2) 本作设计的关卡模式从美术、难度、玩法上都进行了合

47、理的搭配和设计,作为本游戏的核心设计模式,关卡系统决定了游戏的进行质量,在场景的设计上也符合玩家的需求,在各种事件交互如触发事件、点击事件等都对玩家的反馈需求做出了相应的设计,提升了玩家的沉浸感。同时,还对人物的操作、移动快慢等进行了相应的优化,尤其是Cinemachine的参数设置,包括相机跟随、视野大小、左右的视野比例、视野高度等进行的优化都能很大程度改善玩家的体验,确保游戏体验能被玩家接受。(3) 对本设计使用的美术资源都使用了较为简单的动画和粒子特效,在提升游戏美术质量的同时又不影响性能。(4) GUI系统中使用的UGUI和OneMinuteGUI插件结合的开发方式。既保证了UI系统的简洁和明确,又能保证特定UI界面的美观,通过添加相应的UI动画使玩家的游戏体验提升了档次。本作在开发需求上不仅以玩家为主,从玩家的角度分析游戏开发的方向,实现功能上的需求,对游戏的操作和反馈都要有比较高的要求。而且在游戏风格和玩法上符合当今跑酷类游戏的发展,也增添了许多创新的要素。尽管如此,我认为本次设计还有许多可改善的地方,希望在未来的研究中进一步展开:(1) 对人物本身的动作

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 期刊短文 > 信息管理

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁