基于Unity3D引擎的角色扮演游戏设计与实现毕业论文
2021-04-14 21:57:04
摘 要
Unity游戏引擎自诞生以来,迅速成长为游戏开发界的庞然大物。甚至连微软、育碧这样赫赫有名的公司,也是Unity的客户之一。传统的游戏引擎,其体积庞大,功能复杂,开发周期长且费用昂贵。在游戏引擎制作公司与游戏开发工作室分开运作的今天,游戏引擎越来越趋向于轻量化。Unity体积小且功能齐全,可视化的开发大大缩短了开发周期,其最大的优势在于跨平台能力,并且低廉的费用更适合于小型工作室使用,让人很难再挑剔。
而角色扮演类游戏作为经典不衰的一个游戏类型,在女性玩家数量越来越多的今天,显然在市场上占有越来越重要的地位。
本文结合市场调查结果,客观地分析了Unity3D和角色扮演游戏在游戏制作与运营市场上的影响力,然后使用Unity平台设计制作了一款角色扮演类游戏。为虚拟现实技术以及Unity3D的应用提供可靠的参考实例。
关键词:Unity 3D;角色扮演;游戏开发
Abstract
Since its birth, the Unity game engine has rapidly grown into a giant in the game development world. Even famous companies like Microsoft and Ubisoft are also one of Unity's customers. The traditional game engine has huge volume, complex functions, long development cycle and high cost. Today, the game engine is becoming more and more lightweight. Unity is small and fully functional, visual development greatly shortens the development cycle, its greatest advantage is the ability to cross platform, and the low cost is more suitable for small studios to use, and it is difficult to be critical.
Role playing games as a classic type of game, the number of female players more and more today, obviously in the market occupies a more and more important position.
In this paper, the influence of Unity3D and role-playing games on the game production and operation market is objectively analyzed with the results of the market survey, and then a role playing game is designed and produced using the Unity platform. It provides a reliable reference example for the application of virtual reality technology and Unity3D.
Key Words:Unity 3D;Role-Playing;Game development
目录
摘要 I
Abstract II
第1章 绪论 1
1.1研究背景 1
1.2国内外研究现状 1
1.2.1游戏引擎研究现状分析 1
1.2.1 RPG游戏市场现状分析 3
1.3研究目的及意义 5
1.4 论文结构 5
第2章 开发环境及工具简介 6
2.1 Unity简介 6
2.1.1 Unity3D简介 6
2.1.2 Unity游戏引擎结构 6
2.1.3 Unity常用功能 7
2.1.4 Unity坐标系 8
2.2 RPG游戏简介 10
2.3 C#语言简介 12
第3章 整体设计 15
3.1游戏类型分析 15
3.2游戏核心玩法分析 16
3.3游戏制作流程分析 16
第4章 详细设计 19
4.1模型设计 19
4.1.1场景设计 19
4.1.2人物设计 22
4.2控制逻辑 24
4.2.1摄像机逻辑 24
4.2.2玩家逻辑 25
4.2.3怪兽逻辑 27
4.3动画控制的两种方式 30
4.4自动导航 32
4.5碰撞检测 33
4.6 UI设计 34
4.7事件系统实现 37
第5章 总结与展望 38
5.1总结 38
5.2 展望 38
参考文献 39
致谢 40
第1章 绪论
1.1研究背景
今天,游戏开发者们主要依靠游戏引擎来开发游戏。游戏引擎通过为游戏运行的硬件和操作系统提供方便的抽象概念来简化程序员的任务。游戏引擎的目的是充分利用主机的能力,使玩家可以获得最沉浸式的游戏体验[1]。并且,游戏玩家更加趋向于移动化设备,相比于PC机和专业的游戏机,他们更多的使用CPU资源匮乏的智能手机和平板电脑。
一方面,游戏引擎是一组工具(包括低级库、用户界面编辑器和游戏多媒体管理工具),它们使游戏开发者在创建新游戏过程中的工作更便利。游戏开发者社区认为这样的游戏引擎是一个框架或平台。该框架提供了游戏内容(多媒体内容和主脚本)和底层硬件之间的抽象层。最流行的框架体系,如Unity 3D,应该是跨平台的,即该游戏引擎可以运行在各种操作系统和各种硬件配置上。
另一方面,游戏引擎是最终在设备上运行以向终端用户提供游戏的软件和数据集[2]。玩家认为游戏引擎是一段代码。所有由框架Unity 3D创建的游戏共享它们的一致性,使它们成为统一的3D游戏引擎。本文将重点放在典型的Unity 3D软件上,我们称它为游戏引擎。
1.2国内外研究现状
1.2.1游戏引擎研究现状分析
早期的游戏市场主要是以商用机台为主,但是随着硬件的进步,游戏机以及个人计算机开始导入,商用机台需要到特别的场合才能游玩,因此其市场在游戏机以及个人计算机出现后,逐渐萎缩消失,而随着网络的发达,在线游戏的出现,逐渐成为市场的热门[3]。
但是,在苹果公司推出iPhone,Google公司推出Android移动设备系统后,短短几年时间,智能化移动设备迅速占领了市场。因此手机游戏市场也大幅上升,不过受限于移动设备的硬件资源与使用特性,手机游戏大多以小型的实时游戏为主,讲究排场以及画面的3D游戏在手机上不容易体现其画面优势,而小屏幕设备受限于可操作区域,使得游戏的难度增加,也不适合长时间专心玩。这使得以往3D游戏需要数十人甚至上百人的开发团队转而变为小团队开发。相对的对游戏引擎的需求也随之调整,小型的游戏引擎逐渐兴起。在此情况之下,Unity 3D不仅可以用做开发手机游戏,也提供高画质及高效率和足以跟大型引擎竞争的开发工具,搭配上跨平台的特性,成为市场的新宠。
当前较为著名的游戏引擎有:Unreal 4(虚幻4)、Frostbite 3(寒霜3)、Cry Engine 3、Unity 3D等等。
最近风靡中国的大逃杀类游戏 PUBG(PLAYER UNKNOWN’S BATTLE GROUNDS,绝地求生)就是以Unreal4引擎为核心设计制作的。
Frostbite 3引擎的特色是可以运作庞大而又有着丰富细节的游戏地图,同时可以利用较低的系统资源渲染地面、建筑、杂物的全破坏效果[4]。使用寒霜引擎可以轻松地运行大规模的、所有物体都可被破坏的游戏。以Frostbite 3为核心的主要代表作有Battlefield系列(战地系列)、Need for Speed:Rivals(极品飞车:宿敌)等等。
Cry Engine 3游戏引擎,而以Cry Engine 3为核心的代表作有Crysis系列(孤岛危机系列)、Warface系列(战争前线系列)、怪物猎人Online等等。
由此可以看出,当前的出色的主机游戏多由国外游戏公司制作发布,而国内出现的优秀作品较少。当前主流的游戏引擎多用于开发设计FPS(First-person Shooting game,第一人称射击游戏),对于其它类型的游戏如策略养成类、角色扮演类游戏,发布的作品相对较少。一方面是由于游戏市场的主体是男性玩家,对FPS游戏的喜爱是要高于其它类型的游戏的。但随着近年来,以王者荣耀、阴阳师等为代表的MOBA(Multiplayer Online Battle Arena,多人在线战术竞技类游戏)、RPG(Role-playing game,角色扮演类游戏)手游异军突起,女性玩家逐渐进入游戏市场,对其它非FPS类型游戏需求增大。另一方面,是由于其它类型的游戏耗用的资源较少,利用大型游戏引擎来设计制作会增加成本、开发难度,而Unity 3D以其优越的兼容性,既适应PC端开发,又能适应手游端开发,更由于其个人版免费的特质,使更多的游戏爱好者可以参与到游戏制作中来[5]。
过去开发大型的网络游戏,往往是功能十分强大并且复杂的引擎当道,任何一个引擎动则数十万美金的版权费用,不是规模较小的游戏公司或者游戏工作室可以负担的,反观Unity 3D提供好的场景设计的用户界面,让视觉设计师可以轻松设计他们心目中的场景,同时操作界面也可以让工程师轻易地把写好的程序“拉”入场景及人物中,Unity 3D还提供了良好的连接工具,让设计人员可以在他们熟悉的其它软件上创建素材以及特效工具,如Maya以及3ds Max[6]。一个好的引擎要能够提供良好的工具,让开发者可以完成这些工作,如图所示。而Unity 3D就提供了很好的工具。