基于Unity3D的TPS游戏的设计与开发.docx
《基于Unity3D的TPS游戏的设计与开发.docx》由会员分享,可在线阅读,更多相关《基于Unity3D的TPS游戏的设计与开发.docx(29页珍藏版)》请在课桌文档上搜索。
1、滨江学院学年论文题目基于UIlity3D在PC端的TPS游戏的开发与设计院系电子系专业电子信息工程学生姓名杨鑫学号20232305047指导教师王新蕾职称讲师二O一七年十月二十五日基于Unity3D在PC端的TPS游戏的开发与设计杨鑫南京信息工程大学滨江学院电子信息工程专业,南京210044摘要:本文详细介绍了基于Unity3D游戏引擎(个人版)的TPS(第三人称射击)游戏的开发与设计的过程,主要包括游戏开发前准备,场景的制作以及游戏角色控制,子弹发射效果,敌对角色生成的实现方法等。并简单介绍了UIlity3D引擎及其特点和资源商店的利用。详细阐述了游戏中的各种关键C#脚本程序。实现以键盘控制
2、位置鼠标控制视角的人机对抗游戏模式。游戏操作简单,人物动作细腻多变,场景气氛代入感强,给玩家良好的游戏体验。关健词:Unity3D;TPS:C#第1章绪论1.1 基于Unity游戏开发的国内外现状2023年又被称为VR元年。虚拟现实(VR)是当今最前沿的科学技术之一,谷歌,澈软,Facebook,苹果,三星,索尼等知名高科技企业对其视为上宾。VR通过计算机虚拟出现实世界,在VR技术影响下,仿佛置身于另一个世界。2023年,是VR技术突破性开展的一年,VR将与各行各业相互融合,产生庞大的岗位需求-VR开发工程师,而Unity已经成为VR内容开发的首选平台.通过使用Unity引擎制作的游戏吸引了全
3、球6亿游戏玩家。,Facebook拥有8.29亿的H常用户。用Unity制作的应用和游戏目前的累计体验量已到达了87亿次。根据Unity官方在2023年8月最新公布的数据,Unity中国区的开发者数量、用户活泼度和终端安装量均已经成为全球第一。在世界范围内,Unity占据全功能游戏引擎市场份额的45%,居世界首位。最接近我们的美国,其市场份额只有我们的三分之一。Unity的每月全球活泼用户超过60万。中国区每个月Unity引擎被使用的次数总和高达180万次,居世界首位。美国以150万次使用居世界第二。Unity中国区在3D游戏市场的占有份额已经到达75%,超越H本成为世界第一。也就是说在最火的
4、前100款3D游戏中,平均每10款就有7.5款是使用Unity引擎制作。很多使用Unity制作的游戏都是跨平台的,其中不乏优秀作品,比方神庙逃亡2,地铁跑酷,使命召唤,纪念碑谷等。国内首款基于Unity3D引擎研发的三国题材网游将魂(现已停运),自2023年初就进入了研发历程,其后那么还有骏梦游戏研发的Unity3D游戏新仙剑OL叫针对Unity3D引擎的研发技术,九众互动CEo朱传靖也曾提过,该引擎基于特定的技术架构,实现了实时生成查看的功能,易用性高,更简化了开发的流程。基于此,九众互动的首款3D网游将魂,在游戏品质和研发时间上并没有太多的冲突。在国外游戏厂商应用Unity3D引擎方面,美
5、国Playnet公司目前已经推出了3D军事战争网游激战海陆空。此外,俄国NiVal公司研发的新型态Dota游戏Prineworld在Steam上备受好评,欧美公司的3D魔幻MMORPG网游,都是非常受期待和关注的Unity3D网游。1.2 课题研究目的与意义游戏,对于很多人,占据了大学生活的大局部时光,许多大学生玩了4年游戏而碌碌无为。本文以新的视角为广阔的游戏爱好者展现良好的开展前景,让大家了解一个游戏的简单制作流程,体验其中的乐趣,致敬每一个愿意把人生奉献给游戏事业的人。Unity的迅速开展让Unity3d从业人才需求不断攀升,并且从业人员的薪资十分可观。以人才招聘来看,目前企业招聘人数呈
6、现上升趋势,一般要求大专、本科学历,一年以上开发经验的人员一般待遇都会在IOK左右,高级人才甚至到达2OK-25K。随着工作经验和技能的增加,从业人员薪资水平不断增长。目前Unity需求主要集中在一线大城市,北京、上海、深圳、广州等,这些一线城市的薪资水平是非常可观的。从薪资角度来说,Unity3d工程师在棋牌游戏开发的工资能拿到15000元左右,当然还是要看具体的熟练水平的。所以说学习Unity并从事其相关工作,对于大学生来说是不错的出路。当然制作游戏不仅仅局限于此,还要懂美术,音乐,筹划等多方面的知识。通过本次课题的研究,不仅是熟悉了Unity开发工具,也为今后参加大型团队游戏制作工程提供
7、了帮助。1.3 课题研究内容本文主要介绍的是利用Unity5制作一款TPS游戏的过程,具体内容有:第二章,游戏的相关知识和开发平台的阐述,简单介绍Unity的诞生和优势以及引擎的各种系统和碰撞函数。说明了游戏设计的根本流程和开发流程。第三章,游戏的的总体设计,定制游戏的主体内容,包括名称,剧情,根本玩法,介绍开发前的工程准备。第四章,游戏各个模块的具体实现,包括场景的制作,主人公的制作,子弹的制作以及敌对AI的制作等等。第五章,PC端游戏打包与发布,简单介绍利用Unity在PC端打包发布的方法。第2章系统平台的阐述和游戏的相关知识2.1 Unity5的简介Unity3D是由UnityTeChn
8、oIOgieS开发的一个让玩家轻松创立例如二=维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一款全面整合的专业游戏引擎。Unity类似于Director5BIendergameengine,Virtools或TorqueGameBuilder等利用交互的图型化开发环境为首要方式的软件。其编辑器运行在WindOWS和MaCOSX下,可发布游戏至WindOWs、Mac、Wii、iPhone、WebGL(需要HTML5)、WindOWSPhone8和Android平台.也可以利用UnityWebPlayer插件发布网页游戏,支持MaC和WindoWS的网页浏览。它
9、的网页播放器也被MaC所支持。UnityS游戏引擎的挺生业界现有的游戏引擎数不胜数,其中最具代表性的商业游戏引擎有虚幻引擎也CryEngine3,HeroEngine,RageEngine等,但因为其价格以及对PC配置要求高让很多个人游戏开发者尤其是学生望而却步。在这样背景下,Unity公司提出了群众游戏开发的口号,让开发人员不在考虑价格,提供任何人都可以轻松开发的优秀游戏引擎。2023年3月在旧金山举行的游戏开发者大会上Unity5正式公诸于世。Unity5的优势(1)支持多平台跨平台运行,只需开发一次,稍加修改,就可以发布到23多个平台运行。现在,Unity己经可以支持以下平台四 移动平台
10、(iOS,Android,WindowsPhone,BlackBerry,Tizen) 桌面平台(Windows、WindowsStore,Mac,Linux) 游戏主机(PS3、XBOX、Wii) 网页游戏(InternetExplorer,WebGL) 虚拟现实与增强现实(OciilusRikGearVR)(2)集成开发环境从场景设计、编程、调试到构建、开发游戏的整个生命周期都可以在UniIyIDE中完成,效率非常之高。另外,直观而合理的集成开发环境也为开发人员提供了便利。(3)所有功能免费只要你是独立开发者或是没有营收的小公司就符合使用UnityPersonalEdition(个人版)的
11、条件。但上一年营收或资本额超过了10万美金,就失去了使用个人版的资格,就必须购置UnityprOfeSSiOnaIEdition(专业版)。(4)开放社区社区提供了大量的帮助手册和体系化的例如文件,同时,Unity拥有一个资源分享和知识问答的交流平台,包括论坛、博客、在线视频等,以此帮助开发者更为便捷的了解Unity引擎。(5)资源商店Unity3D不仅拥有很强大的功能,丰富的模块,还有AssetStore提供开发过程中所需要的所有资源,具有超强的效能和超高的性价比,使编程周期大大缩短,即使是小型开发团队也可以轻松运作。也可以通过AssetStore销售自己制作的产品,获得利润。2.2 相关U
12、nity技术知识2.2.1 物理系统Unily内置了NVlDlA的PhySX物理引擎,PhySX是目前使用最为广泛的物理引擎,被很多游戏大作所采用,开发者可以通过物理引擎高效、逼真地模拟刚体碰撞、车辆驾驶、布料、重力等物理效果使游戏画面更加真实,更加生动。Rigidbody刚体组件,可使游戏对象在物理系统的控制下来运动刚体可接受外力与扭矩力用来保证游戏对象像在真实世界中那样进行运动。任何游戏对象只有添加了刚体组件才能受到重力的影响,通过脚本为游戏对象添加的作用力以及通过NVlDlA物理引擎与其他的游戏对象发生互动的运算都需要游戏对象添加了刚体组件。Collides碰撞体,碰撞体是物理组件的一类
13、它要与刚体一起添加到游戏对象上才能触发碰撞。如果两个刚体相互撞在一起,除非两个对象有碰撞体时物理引擎才会计算碰撞,在物理模拟中,没有碰撞体的刚体会彼此相互穿过。CharacterController角色控制器,角色控制器主要用于对第三人称或第一人称游戏主角的控制,并不使用刚体物理效果。2.2.2 动画系统MeCanim动画系统随着Unity4.0的升级而出现,这是一种动画中间引擎,使用其可以轻松制作柔和、平滑的动画效果,它提供了 为人形角色提供的简易的工作流和动画创立能力;。 Retargeting(运动重定向)功能,即把动画从一个角色模型应用到另一个角色模型上。 针对AnimatiOnCli
14、PS(动画片段)的简易工作流,即针对动画片段以及它们之间的过渡和交互过程的预览能力。这样可以使动画师更加独立地进行工作,而不用过分地依赖于程序员,从而在编写逻辑代码之前就可以预览动画效果。 一个用于管理动画间复杂交互作用的可视化编程工具。 通过不同逻辑来控制不同身体部位运动的能力居L2.2.3 渲染系统在Unity里,渲染路径(RenderingPalh)决定了光照是如何应用到UnityShader中的。因此,如果要和光源打交道,我们需要为每个Pass指定它使用的渲染路径,只有这样我们才能在UnityShader中访问到Unity为我们准备好的光照信息。Unity的渲染框架支持正向渲染与延迟光
15、照渲染两种渲染模式、任意多光源、主直线光源的多层级阴影渲染以及各种自定义的材质和后置渲染特效。在UniIy5.0版本之前,主要有3种:前向渲染路径(ForWardRenderingPath)、延迟渲染路径(DeferredRenderingPath)和顶点照明渲染路径(VerteXLitRenderingPath)O但在Unity5.0版本以后,Unity做了很多更改,主要有两个变化:首先,顶点照明渲染路径已经被Unity抛弃(但目前仍然可以对之前使用了顶点照明渲染路径的UnityShader兼容);其次,新的延迟渲染路径代替了原来的延迟渲染路径(同样,A前也提供了对较旧版本的兼容)。2.2.
16、4 脚本系统Unity脚本开发是整个游戏开发过程中的重要环节,即便最简单的游戏也需要脚本来响应用户的操作,此外游戏常见的事件触发、游戏对象的创立与销毁等都需要通过脚本来控制a。Unity中可以选择两种脚本进行开发,分别为JaVaSCriPt和C#。Unity使用的JavaSript语法与网页开发中根本相同,也可以称其为Unity脚本。而C#是一种分别借鉴了C+和JaVa优点的语言,国内开发主流的还是使用C#语言。Unity5不再支持BoO脚本。本游戏是运用C#进行开发的。2.2.5 盘交互技术键盘交互主要是指能够控制游戏者在游戏场景中进行移动,健盘交互以设置方向键tIf*一或者WSAD*为控制
17、键,分别用来控制游戏者的“前、“后、左、右的走动。在Unity中,可以通过函数实现这些功能,以用W“SAD为控制键为例,脚本命名为js,其代码如下:if(Input.GetKey(KeyCode.W)(transform.Translate(0,0,2*Time.deltaTime);if(Input.GeiKey(KeyCode.S)(transform.Translate(O,0,-2*Time.deltaTime);if(Input.GetKey(KeyCode.A)(transform.Translate(-2*Time.deltaTime,0,0);if(lnput.GeKey(Ke
18、yCode.D)transfrm.Translale(2*Time.deltaTime,0,0);2.2.6 碰撞检测技术碰撞检测在3D游戏中是非常重要且常见的一件事情,好的碰撞检测要求人物在场景中可以平滑移动,当人物在在场景中漫游的时候,在各种前进方向上如果有被其他物体挡住的情况下,不但不能再继续往前走,而且要尽可能地沿合理的路线滑动。在Unity3d中,碰撞检测的功能是由函数封装好的,我们只需要调用函数就可以实现了。OnCOntrOIlerCOniderHit()函数是用于角色碰撞的,角色如果添加了CharactorController(Unity自带的用于角色控制的脚本)那么使用这个函数
19、检测碰撞,旦不需要加刚体的。一般的刚体之间碰撞使用OnCOIliSionEnter()函数,范围触发用OnTriggerEnter()函数。2.4 游戏工程流程(1) 原型阶段实现游戏的必要技术验证。产出:一个最简单的只有1关或者1个场景的的游戏原型。美术效果图。(2) AIPha版阶段完善游戏角色的逻辑,定义完善的数据结构和关卡配置,制作游戏UI,菜单Ul等。产出:一个能玩假设干关卡的版本。(3) Beta版阶段完善逻辑,批量制作美术,关卡或者其他游戏内容,细化Ul等各方面。加IAP,GameCenter等。产出:完整的可玩版本,具备所有的游戏内容、关卡等。(4)产品阶段测试,修Bug,图标
20、,截图,多语言说明,视频录制等等准备上线需要做的一切事情。提交上线。产出:可以提交上线的叩P包。本作由于个人能力有限,只制作了出游戏的原型和AlPha测试版。2.5 Unity制作游戏流程I)游戏筹划一个游戏的诞生,往往是筹划们脑海中的灵感一现,这是游戏诞生的第一步。主要工作是编写游戏背景故事,制定游戏规那么,设计游戏交互环节,计算游戏公式,以及整个游戏世界的一切细节等。(2)游戏原画设定根据筹划的文案,设计出整部游戏的美术方案,包括概念类原画设计和制作类原画设计两种,为后期的游戏美术(模型、特效等)制作提供标准和依据。(3)游戏的模型及贴图制作原画通过后指,游戏建模师就要按着原画中的场景、角
21、色和道具按照比例制作设计成的物体,建模的过程很复杂,很多时候要靠建模师的发挥,好的模型和贴图会让游戏增色不少。(4)游戏的程序编写当模型完成后,程序员就要编写程序了,游戏角色的动作,人机交互系统,伤害的计算,血量的计算,Al的行为方式,巡逻路径等都是程序员的工作。(5)游戏的测试测试就是发现问题并进行改良,从而提升软件产品的质量。游戏测试也具备了以上的所有特性,不过由于游戏的特殊性,所以游戏测试那么主要分为两局部组成,一是传统的软件测试,二游戏本身的测试,由于游戏特别是网络游戏,它相当于网上的虚拟世界,是人类社会的另一种方式的表达,所以也包含了人类社会的一局部特性,同时它又是游戏所以还涉及到娱
22、乐性,可玩性等独有特性,所以测试的面相当的广。我们称之为游戏世界测试,常由真实用户参与完成,多以封测内测等形式出现。第3章游戏的总体设计3.1 游戏类型第三人称射击游戏US简称:TPS,是射击游戏的一种。与第一人称射击游戏的区别在于第一人称射击游戏里屏幕上显示的只有主角的视野,而第三人称射击游戏更加强调动作感,主角在游戏屏幕上是可见的。在游戏中,你可以看到游戏者,你好似一个旁观者或者操控者,而不是本人。这样更有利于观察角色的受伤情况和周围事物,以及弹道。虽说没有第一人称射击的爽快感,但第三人称也有很多优势可以实现动作和枪战的完美结合,可以观察到一些第一人称看不见的地方,增强代入感。在一些第一人
23、称射击游戏中,可以进行对第一人称至第三人称的转换。3.2 游戏背景本作游戏名称暂定为SpaceShooter,故事发生在未来,UNSC(联合国太空指挥部)收到一条来自远地殖民地的求救信息,主人公为UNSC的超级战士,收到指挥部的指令,率先前往远地殖民的军事堡垒进行调查,并发现可伯的外星人,与之发生了一番恶斗。3.3 游戏开发步骤 设置游戏开发环境 下载并导入游戏资源 设计游戏场景 构建主人公移动和开火机制 构建敌对角色的行为机制 构建主人公和敌对角色之间的关系机制 构建游戏UI3.4 游戏总体规划W、S,A、D键控制玩家行走,鼠标控制视角,鼠标左键按下开火。敌对角色在军事基地中固定点生成,玩家
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Unity3D TPS 游戏 设计 开发

链接地址:https://www.desk33.com/p-845442.html