unity3d游戏引擎的第三人称射击游戏(源码)
计算机技术的快速发展带动了整个计算机行业以及相关产业的发展,其中游戏行业在最近几年的发展尤为迅速。近年来诞生了一大批优秀的游戏,从几年前的英雄联盟到最近火热的绝地求生,游戏给人们的闲暇时间带来的许多欢乐。本系统研究的是最近几年发展迅速的Unity3D游戏引擎,该引擎因其优秀的图像渲染能力,操作简单快捷,功能强大的api被大多数游戏开发人员所喜爱。设计开发了一款具有一定可玩性的第三人称射击游戏,采用C#语言编写游戏相关脚本,项目中包含了游戏中常用的玩家控制算法,敌人AI自动寻路算法,敌人自动攻击算法等,同时游戏中包含了许多精美的3D模型。关键词 游戏引擎,Unity3D,玩家控制,敌人AI,图形渲染
目录
1 引言 1
1.1 研究背景及意义 1
1.2 国内外研究现状 1
1.3 研究方法及设计思路 3
2 需求分析 4
2.1 功能需求分析 4
2.2 可行性分析 5
2.3 开发工具及环境 6
2.4 开发技术 8
3 系统总体设计 10
3.1 系统总体结构 10
3.2 玩法设计 10
3.3 模型设计 11
4 系统详细设计 11
4.1 UI 12
4.2 场景 14
4.3 动画 19
4.4 人物控制 23
4.5 碰撞检测 26
4.6 着色器(shader) 28
4.7 性能优化 29
5 系统测试 30
5.1 测试目的 30
5.2 测试步骤 30
5.3 测试内容及结果 30
5.4 测试结果分析 31
结 论 32
致 谢 34
参 考 文 献 35
1 引言
1.1 研究背景及意义
随着社会的进步以及计算机技术不断发展,计算机技术已经深入到人类社会的方方面面,计算机除了可以帮助人们完成庞大的计算,建立复杂的模型等等,还可以 *好棒文|www.hbsrm.com +Q: #351916072#
为人们提供休闲娱乐。
从第一款PC游戏到现在已经过去许多年,经过这么多年的发展,游戏已经逐渐被分成许多不同种类,比如:“FPS”(第一人称射击游戏),“TPS”(第三人称射击游戏),“MOBA”(多人在线战术竞技游戏)等等[1]。本文研究的第三人称射击游戏(“TPS”)是一类游戏主摄像机位于游戏中玩家的后上方,相比于第一人称射击游戏中只能看见玩家的双手以及视野,第三人称射击游戏可以看见玩家的全身,因此更加强调游戏的动作感。代表作品有《生化危机》,《细胞分裂》以及最近火热的《绝地求生》[2]。
近年来游戏引擎发展迅速,各大游戏公司纷纷推出了自家的游戏引擎,各种引擎凭借着各自的优势展现出了许许多多优秀的游戏。比较火热的2D游戏引擎有Cocos2D,UbiArt,3D游戏引擎有虚幻引擎(Unreal)以及Unity3D。相比之下虚幻引擎可以比Unity渲染出更为逼真的游戏画面但与此同时也伴随着巨大的计算机资源消耗,以及更加长的开发周期,所以虚幻引擎常被用来做更为大型的游戏。Unity3D提供了2D以及3D游戏开发的支持,虽然其渲染能力不如Unreal,但在游戏开发难度上更为简单,开发周期相对较短,适合手游等对机器性能要求不高的游戏[3]。
本系统的意义在于:深入学习Unity3d游戏引擎,了解其各个组件如粒子系统,碰撞检测系统,UI系统等如何运作,了解游戏的具体开发流程,深入理解游戏开发过程中常用的开发技术,讨论了游戏中常用的一些问题的处理方法以及相关算法。
1.2 国内外研究现状
随着中国经济体制改革的不断深入,社会主义市场经济迅速发展,使得国人的生活水平日渐提高,人们开始更多的关注文化的建设,同时随着科技的发展,人们有了更多的闲暇时间,游戏作为一种消遣工具被越来越多人所接受,随着许多游戏引擎的开源,游戏开发变得更加简单。国内也诞生了一大批优秀的游戏工作室以及优秀的独立游戏开发者。国内比较出名的游戏工作室有北极光工作室,腾讯天美工作室,西山居工作室[4]。近些年来推出了许许多多优秀且赚钱的游戏比如《王者荣耀》,《绝地求生刺激战场》,《QQ飞车》。同时国内有一个叫做“INDENOV(独立精神)”的网站,许许多多的独立游戏开发者在上面发布了自己创作的游戏。
图1.1 INDIENOVA界面
相对来说游戏行业在国外发展的比国内要好很多,国外许多优秀的游戏公司更是创作出了相当具有水平的游戏,比如RockStar公司的《GTA》系列,Ubisoft公司的《刺客信条》系列,《看门狗》系列等等。基于Unity3D游戏引擎的游戏比如《Cuphead》,《Monument Valley2》,同时通过Unity3D优秀的图形引擎以及卓越的图像渲染能力,Otas Studio创作出了《Adam》,并且凭借其逼真的画质以及科技感十足的画面,动人的故事获奖无数[5]。
图1.2Adam卓越的渲染
作为一款流行的3D游戏引擎,Unity常被拿来与Unreal引擎做对比。Unreal作为一款专业游戏引擎,3D画质非常优秀,同时它的粒子效果卓越,可以实现百万级渲染,材质编辑器也是目前公认最好的,Unreal提供的蓝图功能实现了可视化编程,大大降低了开发难度,但是缺点也很明显,2D游戏方面性能不佳,同时缺少中文文档,学习成本较高。Unity引擎虽然3D游戏画质略低,但更加适合用于手机游戏开发,同时Unity拥有大量的插件,可以降低游戏开发难度,并且该引擎的学习难度较低,上手简单,操作便捷。由于渲染引擎等各种原因,Unity3D想要做到与unreal同级别的画面会比较麻烦,并且Unity3D的材质shader较为复杂,渲染部分开发难度较大。
目录
1 引言 1
1.1 研究背景及意义 1
1.2 国内外研究现状 1
1.3 研究方法及设计思路 3
2 需求分析 4
2.1 功能需求分析 4
2.2 可行性分析 5
2.3 开发工具及环境 6
2.4 开发技术 8
3 系统总体设计 10
3.1 系统总体结构 10
3.2 玩法设计 10
3.3 模型设计 11
4 系统详细设计 11
4.1 UI 12
4.2 场景 14
4.3 动画 19
4.4 人物控制 23
4.5 碰撞检测 26
4.6 着色器(shader) 28
4.7 性能优化 29
5 系统测试 30
5.1 测试目的 30
5.2 测试步骤 30
5.3 测试内容及结果 30
5.4 测试结果分析 31
结 论 32
致 谢 34
参 考 文 献 35
1 引言
1.1 研究背景及意义
随着社会的进步以及计算机技术不断发展,计算机技术已经深入到人类社会的方方面面,计算机除了可以帮助人们完成庞大的计算,建立复杂的模型等等,还可以 *好棒文|www.hbsrm.com +Q: #351916072#
为人们提供休闲娱乐。
从第一款PC游戏到现在已经过去许多年,经过这么多年的发展,游戏已经逐渐被分成许多不同种类,比如:“FPS”(第一人称射击游戏),“TPS”(第三人称射击游戏),“MOBA”(多人在线战术竞技游戏)等等[1]。本文研究的第三人称射击游戏(“TPS”)是一类游戏主摄像机位于游戏中玩家的后上方,相比于第一人称射击游戏中只能看见玩家的双手以及视野,第三人称射击游戏可以看见玩家的全身,因此更加强调游戏的动作感。代表作品有《生化危机》,《细胞分裂》以及最近火热的《绝地求生》[2]。
近年来游戏引擎发展迅速,各大游戏公司纷纷推出了自家的游戏引擎,各种引擎凭借着各自的优势展现出了许许多多优秀的游戏。比较火热的2D游戏引擎有Cocos2D,UbiArt,3D游戏引擎有虚幻引擎(Unreal)以及Unity3D。相比之下虚幻引擎可以比Unity渲染出更为逼真的游戏画面但与此同时也伴随着巨大的计算机资源消耗,以及更加长的开发周期,所以虚幻引擎常被用来做更为大型的游戏。Unity3D提供了2D以及3D游戏开发的支持,虽然其渲染能力不如Unreal,但在游戏开发难度上更为简单,开发周期相对较短,适合手游等对机器性能要求不高的游戏[3]。
本系统的意义在于:深入学习Unity3d游戏引擎,了解其各个组件如粒子系统,碰撞检测系统,UI系统等如何运作,了解游戏的具体开发流程,深入理解游戏开发过程中常用的开发技术,讨论了游戏中常用的一些问题的处理方法以及相关算法。
1.2 国内外研究现状
随着中国经济体制改革的不断深入,社会主义市场经济迅速发展,使得国人的生活水平日渐提高,人们开始更多的关注文化的建设,同时随着科技的发展,人们有了更多的闲暇时间,游戏作为一种消遣工具被越来越多人所接受,随着许多游戏引擎的开源,游戏开发变得更加简单。国内也诞生了一大批优秀的游戏工作室以及优秀的独立游戏开发者。国内比较出名的游戏工作室有北极光工作室,腾讯天美工作室,西山居工作室[4]。近些年来推出了许许多多优秀且赚钱的游戏比如《王者荣耀》,《绝地求生刺激战场》,《QQ飞车》。同时国内有一个叫做“INDENOV(独立精神)”的网站,许许多多的独立游戏开发者在上面发布了自己创作的游戏。
图1.1 INDIENOVA界面
相对来说游戏行业在国外发展的比国内要好很多,国外许多优秀的游戏公司更是创作出了相当具有水平的游戏,比如RockStar公司的《GTA》系列,Ubisoft公司的《刺客信条》系列,《看门狗》系列等等。基于Unity3D游戏引擎的游戏比如《Cuphead》,《Monument Valley2》,同时通过Unity3D优秀的图形引擎以及卓越的图像渲染能力,Otas Studio创作出了《Adam》,并且凭借其逼真的画质以及科技感十足的画面,动人的故事获奖无数[5]。
图1.2Adam卓越的渲染
作为一款流行的3D游戏引擎,Unity常被拿来与Unreal引擎做对比。Unreal作为一款专业游戏引擎,3D画质非常优秀,同时它的粒子效果卓越,可以实现百万级渲染,材质编辑器也是目前公认最好的,Unreal提供的蓝图功能实现了可视化编程,大大降低了开发难度,但是缺点也很明显,2D游戏方面性能不佳,同时缺少中文文档,学习成本较高。Unity引擎虽然3D游戏画质略低,但更加适合用于手机游戏开发,同时Unity拥有大量的插件,可以降低游戏开发难度,并且该引擎的学习难度较低,上手简单,操作便捷。由于渲染引擎等各种原因,Unity3D想要做到与unreal同级别的画面会比较麻烦,并且Unity3D的材质shader较为复杂,渲染部分开发难度较大。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/1178.html