基于Unity3D的第三人称游戏设计与实现毕业论文
2021-10-26 21:59:25
摘 要
目前网络通信质量的不断提高保证了网络游戏的通信质量,便携设备性能的不断提高打破了传统游戏设备的限制。快节奏网络游戏满足了人们在日常闲暇之余娱乐需求,成为大众娱乐的主要方式。
本文基于对市场研发主流的分析,进而选择Unity3D作为客户端开发引擎,设计并实现了一款第三人称射击类联机游戏。游戏设计划分为客户端和服务器端,客户端负责游戏的表现和物理引擎处理。客户端间信息交互和逻辑处理通过RPC技术调用服务器实现。游戏在需求上要求高度可扩展性。项目设计采用ECS框架,将对象属性独立成组件,减少模块之间的耦合,提高扩展灵活性。目前国内并没有很多网络游戏客户端与服务器端整体的研发指导和案例,通过本文的研究,可以给广大有研发兴趣的人提供一定的研发帮助,促进国内游戏研发发展。
关键词:Unity3D;客户端;服务器端;网络游戏
Abstract
At present, the continuous improvement of network communication quality ensures the communication quality of network games, and the continuous improvement of portable device performance breaks the limitation of traditional game device. Fast-paced Online Games meet people's entertainment needs in their spare time and become the main way of mass entertainment.
Based on the analysis of the mainstream of market research and development, this paper chooses Unity3D as the development engine of the client to design and implement a third-person shooting online game. Game design is divided into client and server side, the client side is responsible for the performance of the game and the physical engine processing. The information interaction and logical processing between the clients are realized by Remote Procedure Call Protocol calling the server. Games require a high degree of scalability in terms of requirements. The project design adopts the ECS(Entity-Component-System) framework, which separates the object properties into components, which reduces the coupling between modules and improves the flexibility of extension. At present, there are not many online game client and server-side overall research and development guidance and cases in China. Through the research of this paper, we can provide certain research and development help to the majority of people interested in research and development, and promote the development of domestic game research and development.
Key Words: Unity3D; Client; Server-side; Online game
目 录
第1章 绪论 1
1.1 研究背景以及意义 1
1.2 国内外的研究现状 2
1.3 本文的研究内容及章节安排 3
第2章 游戏系统相关技术 4
2.1 Unity3D引擎介绍 4
2.1.1 Unity3D主要特性 4
2.1.2 Unity3D操作界面介绍 5
2.1.3 Unity3D常用资源 7
2.1.4 Unity3D常用组件 8
2.2 ECS架构 10
2.3 本章小结 11
第3章 游戏整体需求分析与设计 12
3.1 客户端需求分析 12
3.2 客户端设计 12
3.2.1 玩家模块设计 13
3.2.2 登录模块设计 15
3.2.3 AI敌人模块设计 15
3.2.4 网络管理模块设计 16
3.2.5 游戏管理模块设计 17
3.3 服务器端需求分析 18
3.4 服务器端设计 19
3.4.1 NetworkHost设计 19
3.4.2 存储模块设计 20
3.4.3 Entity模块设计 21
3.4.4 Dispatch模块设计 22
3.4.5 Entity Service模块设计 22
3.4.6 Path Finder模块设计 23
3.5 本章小结 24
第4章 游戏实现与测试 25
4.1 客户端实现 25
4.1.1 登录模块实现 25
4.1.2 角色模块实现 25
4.1.3 敌人模块实现 26
4.1.4 网络模块实现 27
4.1.5 游戏管理模块实现 28
4.2 服务器端实现 29
4.2.1 存储模块实现 29
4.2.2 实体模块实现 29
4.2.3 实体服务模块实现 30
4.2.4 分配模块实现 31
4.2.5 寻路模块实现 32
4.2.6 服务器主体实现 33
4.3 整体测试 34
4.4 本章小结 36
第5章 总结与展望 37
参考文献 38
致谢 40
第1章 绪论
1.1 研究背景以及意义
随着网络通信速度与质量的高速发展,网络游戏的交互延迟越来越少,多客户端之间同步性得到了保证。加上个人设备硬件性能的迅猛发展和物理仿真,计算机图形学领域的研究迅速,网络游戏在画面表现高画质和通信交互高效率两个方面做得做愈来愈好。其中3D游戏在观感和操作上的真实感颇受大众青睐,游戏开发方向逐渐从2D转向了3D。
2019年,中国游戏市场实际销售收入2308.8亿,同比增长7.7%,2020年第一季度,中国游戏市场实际销售收入732.03亿元,相比2019年第四季度增长25.22%。数据说明中国游戏市场有着很大的经济效益,同时也提供了大量的就业岗位,并且丰富了大众的文娱生活。但是近些年在中国游戏市场火爆的游戏都基本是由代理商代理或者购买版权进行改编加工,中国游戏市场缺乏自身的产品创新和技术革新。因此国内游戏开发的技术革新是人们面临的亟待解决的问题,中国游戏研发的投入有着重要的意义。