基于Unity3D的3D横版沙盒游戏的开发与实现.docx
《基于Unity3D的3D横版沙盒游戏的开发与实现.docx》由会员分享,可在线阅读,更多相关《基于Unity3D的3D横版沙盒游戏的开发与实现.docx(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、摘要在二十一世纪的现在,据第一个电子游戏的出现已经过了60年以上,在这期间随着科技的迅速发展,电子游戏的技术也得到了迅速的发展,游戏的内容和类型开始变得多样。游戏的自由度越高时游戏类型就越接近类似沙盒游戏的游戏类型。沙盒游戏能够包含格斗、射击、驾驶、养成以及冒险等多种不同的游戏要素。沙盒游戏的高自由度甚至可以创造或者毁灭整个游戏世界。目前个人认为最成功的沙盒游戏分别是3D的我的世界和2D的泰拉瑞亚,二者凭借广阔的世界,丰富的游戏因素和极高的自由度吸引了大批玩家来到沙盒世界建造属于自己的世界。本论文是基于Unity3D探索横版的3D沙盒游戏的开发与实现,既实现2.5D的沙盒游戏。游戏的设计方向是
2、实现一般沙盒游戏拥有的游戏元素,着重在于沙盒世界的地图的随机生成,横版下的建造模块的探索。关键词:Unity3D 沙盒游戏 2.5D游戏 随机地图Abstract In the 21st century, more than 60 years have passed since the first video game appeared. During this period, with the rapid development of technology, the technology of video games has also been rapidly developed, and
3、the content and genre of the game have begun. Become diverse. The higher the degree of freedom of the game, the closer the game type is to a game type similar to a sandbox game. Sandbox games can contain many different game elements such as fighting, shooting, driving, training and adventure. The hi
4、gh degree of freedom of sandbox games can even create or destroy the entire game world. At present, I personally think that the most successful sandbox games are 3D My World and 2D Terraria. The two have attracted a large number of players with their vast world, rich game factors and extremely high
5、degrees of freedom. Go to the sandbox world to build your own world.This paper is based on the development and implementation of the 3D sandbox game of Unity3D exploration horizontal version, which is the realization of 2.5D sandbox game. The design direction of the game is to realize the game eleme
6、nts owned by general sandbox games, focusing on the automatic generation of maps in the sandbox world and the exploration of construction modules under the plane.Key words: Unity3D Sandbox game 2.5D game Random map广东东软学院本科生毕业设计(论文)目录1绪论11.1开发背景及意义11.2本文内容安排11.3课题的研究内容与重点12游戏开发原理22.1 游戏引擎介绍22.2 C#介绍2
7、2.3 系统开发运行环境23游戏需求分析33.1游戏基本介绍33.2需求分析34游戏设计与实现44.1 UI界面44.1.1 UI介绍54.1.3血条&蓝条74.1.4齿轮UI74.2地图84.2.1地图生成84.3玩家184.3.1 玩家设计184.3.2 玩家物理效果194.3.3 玩家动画204.3.4 玩家移动214.4助手224.5敌人294.5.1敌人简介294.5.2敌人功能的实现294.6传送通道334.7 相机344.8保存机制354.8.1保存354.8.2加载365总结385.1本文总结38参 考 文 献39致谢401绪论1.1开发背景及意义科技的日新月异,带动了游戏相关
8、产业的技术升级,动作、冒险、休闲以及新出的沙盒和VR等各种各样的游戏类型迎来了进一步的发展。而在人们背负着众多压力的生活中,游戏无疑成了背负众多压力的人的一种暂时释放压力与增添生活趣味的途径之一。之所以选择沙盒游戏,是沙盒游戏足够大的世界可以保证不同的游戏元素可以实现,而且现在热门的3D沙盒游戏是Minecraft而2D沙盒游戏是Terraria,这些游戏里不仅有冒险,丰富的道具,怪物以及一些电路之类的系统,大大增加了游戏的可玩性。3D游戏比2D游戏在模型、代入感等上面有不可比拟的优势,但在游戏的休闲性和趣味性上我更偏向terraria,横版的画面能让玩家清楚的知道周围的情况,能减轻紧张的情绪
9、,而且特效效果能变得直观。3D横版沙盒游戏以冒险,休闲,经营为主。选择用unity3d做3D横版沙盒游戏是想要将2D游戏3D化同时保留2D游戏的特色。在游戏中不设置生命数量,死亡不再是游戏的终点,玩家里可以按自己现实生活中的节奏来选择游戏的退出和继续。游戏以探索未知为主并且没有日常式任务,不需要长时间进行游玩,可以随时随地保存并退出游戏。本次课题的主要的目标是为了探索3D横版沙盒游戏的开发提供基础理论经验,将以代码编程为主,创造一个基础的横版沙盒游戏世界。1.2本文内容安排第一章说明本次课题的意义,探讨项目的开发背景以及未来前景,以及项目内容的相关介绍。第二章简要说明项目运行的环境配置、所使用
10、工具。第三章说明沙盒游戏的市场前景以及项目中的游戏大致玩法介绍第四章着重于项目中每一个功能的实现原理,代码编写以及功能的详细说明。第五章总结项目制作过程中的收获。 1.3课题的研究内容与重点本课题的研究是开发一个基于unity3D的横版沙盒游戏,利用C#编写包括随机的地图生成,敌人角色生成,探索,战斗,建造及保存玩家在游戏内活动的内容等相关游戏内容的实现。课题的重点在于沙盒游戏里可编辑性地图的研究,横版玩法下角色的控制方法,物体放置的实现,以及最终的UI界面设计。122游戏开发原理2.1 游戏引擎介绍 本次使用的游戏引擎是Unity3D个人版,一款非常适合新手初次使用并且免费的游戏引擎,Uni
11、ty3D对个人开发者来说是有着低廉的成本,而且相关的代码编写及操作简单,直观,容易入门。编程语言虽然支持C#、javascript、boo三种脚本语言,但由于官方的编程语言是C#,建议直接使用C#即可。同时还自带官方的AssetStore,里面提供了大量用于开发的插件和资源,其中有不少官方提供的免费素材及插件。在界面编辑点击书本符号会跳转到当前插件的的Unity3D手册,Unity3D手册提供了几乎每一个插件的介绍,参数介绍,使用条件。在Unity3D里进行工作的时候,工作项目的调试也非常简单,保存好编写的内容就可以在视窗界面点击Play进行运行,并且Unity3D导出的游戏能应对Window
12、s、Mac OS、iOS、Android、Linux等多种平台进行兼容。2.2 C#介绍 C#是微软公司发布的一种运行于.NET Framework上的计算机编程语言。C#是Unity3D的官方编程语言,C#本身不是一种跨平台的编程语言,但由于Mono的桥接使得在Unity3D上可以使用C#这种语法明了,类库使用简单的语言。2.3 系统开发运行环境系统环境操作系统:Windows10家庭中文版(64位)开发工具:Unity3D(Unity 2018.3.8f1 Personal)处理器:Intel(R)Core(TM) i7-6700HQ CPU2.60GHz 2.59GHzC#编辑器:Vis
13、ualStudio20173游戏需求分析3.1游戏基本介绍开始游戏时,在UI动画结束后,玩家出现在一片废弃区域的传送通道,玩家可以自由改造初始的废弃区域,玩家可以通过传送通道去往其它随机生成的地图上,应付当地的防御机制获取在初始区域建造物品的资源。 游戏中没有真实意义上的游戏结束,在玩家的生命归零后会播放玩家倒地动画,在初始地图复活,所有的随机地图在探索结束离开后都会消失。3.2需求分析 当今快节奏的社会中,大多数人的吃穿住行等最基础的物质上的需求基本得到了满足,人们开始更多的寻求精神上的需求。书籍、游戏、电影和动漫这类的精神上的需求得到了大多数人的欢迎。游戏更是被人们广泛接受的文化之一。在如
14、今快节奏的生活中,人们或许在忙碌之余想静静的放松并暂时忘记现实世界的烦恼的时候,沙盒游戏是不错的选择。在沙盒游戏中,游戏世界会基于一定的模板生成一个相对随机的世界,来到这个游戏世界的玩家拥有最大自由度去选择如何在这个虚拟的世界生活,并且可以随时保存并结束游戏投身到现实生活中去。4游戏设计与实现4.1 UI界面游戏的菜单界面以简洁明了为主,基本上采用了黑白设计并添加动画控制消失和出现以便于在观感上变得平滑,如图1左右两边的形状分别对应着退出游戏和重新开始游戏,中间的齿轮可以触发菜单的关闭动画,下方的秒表图案用来保存游戏,左下方音量标志控制游戏声音的有无,另一边的是游戏的操作说明。图4-2是开始游
15、玩时的界面,红色的机器人图标代表Player的生命值,蓝色的代表能量,蓝齿轮表示目前已有的资源数量。右下方的齿轮组会在建造模式下从下方移动到当前位置,每个齿轮代表可以制造的物体,齿轮的右下角代表当前可造数量。图1菜单界面图2游戏界面4.1.1 UI介绍Unity3D的UI制作是非常方便的,在窗口Hierarchy空白处右键UIPanel即可在Hierarchy窗口自动创建Canvas和EventSystem并在Canvas里生成Panel,EventSystem在Hierarchy窗口里基本只能有一个,创建的UI基本都是Canvas的子节点。UI的基本类型有image、Text、Button、
16、Panel、Solid等多种类型。4.1.2主界面UI制作主界面UI主的制作主要使用了Unity3D自带的Button组件,Image组件和Animator组件来制作。完成图1菜单画面的基础布置后,可以考虑加入Animator制作一些简单的UI动画。在Canvas里将相关的UI放到同一个父节点“Closing”下面,之后在父节点的组件里通过Add Component添加Animator组件。之后再根据自己的创意制作动画。全程除了Button的On Click()事件要写些相关代码外都可以在编辑界面完成。Button按钮相关代码using UnityEngine.SceneManagement;
17、 public void RestScene1() /当前场景重新加载 SceneManager.LoadScene(SceneManager.GetActiveScene().name); public void GameQuit()/退出游戏 Application.Quit(); public void ClosingEnd() /关闭UI if (!Player_control.player_Control.isDie) anim.SetBool(ClosingStarid, false); anim.SetBool(ClosingEndid, true); 主要是通过将初始的保存地图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Unity3D 横版沙盒 游戏 开发 实现
限制150内