unity3d的射击游戏开发(附件)【字数:11720】
摘 要随着使命召唤等游戏成为越来越多的人在学习工作之余的首选娱乐方式,游戏开发的能力成为了信息技术专业的毕业生找工作时的优势。本设计使用游戏引擎Unity 3D开发了一款第一人称射击游戏,其中用于编写游戏脚本的语言为C#。游戏包含的要素包括地形系统,动画系统,游戏角色的行为逻辑,游戏管理的逻辑。本设计首先通过地形系统来绘制游戏场景中的地形,其次通过动画系统来控制游戏角色在游戏场景中的动作行为,接着通过编写C#脚本来控制游戏角色的行为逻辑,最后编写C#脚本来管理游戏的运行状态,从而完成整个设计。其中,游戏场景包含山脉,树木,草地;游戏角色的行为逻辑包括敌人的自动生成,敌人与玩家的攻击,生命值管理;游戏状态包括正在运行,游戏结束和重新开始等。
目 录
第一章 绪论 1
1.1游戏开发简述 1
1.1.1游戏 1
1.1.2游戏引擎 1
1.1.3 Unity 3D简介 1
1.1.4 C#简介 1
1.2游戏内容简述 2
第二章 设计方案 3
2.1游戏术语 3
2.2方案综述 3
第三章 详细方案与具体实现 4
3.1游戏地形 4
3.1.1 Unity地形系统简介 4
3.1.2创建游戏地形 4
3.2动画系统与僵尸对象 5
3.2.1动画片段简介 6
3.2.2 Avatar 6
3.2.3动画状态机 6
3.2.4创建僵尸的动画控制器 7
3.3僵尸的行为逻辑 8
3.3.1敌人的追踪逻辑 8
3.3.2僵尸的生命值与分数 8
3.3.3僵尸攻击的实现 10
3.4玩家 11
3.4.1玩家的视角 11
3.4.3玩家的控制 13
3.4.4家攻击实现 16
3.5游戏管理器 18
3.6僵尸的自动生成 20
第四章 改善游戏品质 23
4.1血瓶收集 23
4.2图形用户界面设计 24
*好棒文|www.hbsrm.com +Q: ^351916072^
4.2.1图形用户界面介绍 24
4.2.2游戏开始界面的制作 24
4.2.3游戏进行界面的制作 26
结束语 28
致谢 29
参考文献 30
附录 美术资源 31
第一章 绪论
1.1游戏开发简述
1.1.1游戏
同常见的应用软件一样,游戏在本质上是程序,是结构成熟完整的应用程序,但也存在一些区别的。游戏强调在画面和声音上频繁的进行渲染和改变,使得玩家可以明显的感受到在交互操作下计算机的响应。通过玩家和计算机的交互,是玩家感受到视觉和听觉上的冲击,给玩家带来强烈的代入感,这就是游戏的精髓,也正因为如此,游戏成为了成千上万人休闲娱乐的首选。
1.1.2游戏引擎
游戏开发,简单的说,就是想编写应用软件一样的编写出一款游戏。不过纯粹用程序从0开始编写非常复杂,耗时,而且会有大量的重复工作。所以,开发游戏的时候会有一种新的开发环境,叫游戏引擎[1]。与传统的集成开发环境不同,游戏引擎的关注点不再是源代码的编辑,而是使用更加可视化的操作,使得游戏的开发可以更加简洁。但游戏的开发还是需要一些开发人员编写的程序来进行一些控制的,这样的程序一般都是使用的现成的主流编程语言,这样就不需要专门的开发一个代码编辑环境,而是直接使用主流的编程语言的集成开发环境来进行源代码的编写。这实现了关注点的分离,使得开发人员可以更好的聚焦于当前的任务,开发出更好的游戏。
1.1.3 Unity 3D简介
Unity 3D简称Unity,是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity是一个跨平台的游戏开发环境,支持将开发好的游戏发布到Windows,Android,iOS等平台上,支持一键发布等跨平台操作。
Unity支持JavaScript和C#这2种主流编程语言进行游戏脚本的编写。官方推荐使用C#。因为C#语法简洁,有专门的开发环境和友好的智能提示功能,方便调试。并且,大量Unity官方案例的游戏脚本都是用C#进行编写的。
1.1.4 C#简介
C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言[3,4,5]。C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#旨在设计成为一种“简单、现代、通用”,以及面向对象的程序设计语言,此种语言的实现,应提供对于以下软件工程要素的支持:强类型检查、数组维度检查、未初始化的变量引用检测、自动垃圾收集(Garbage Collection,指一种自动内存释放技术)。软件必须做到强大、持久,并具有较强的编程生产力。
1.2游戏内容简述
在游戏中,玩家通过键盘和鼠标操作玩家化身(Avatar)进行移动、射击的动作。敌人是僵尸,会自动生成,会自动追踪玩家,并且会在靠近玩家时对玩家进行攻击。玩家通过开枪击杀僵尸。就是这样一个简单的模仿生化危机的游戏。
第二章 设计方案
2.1游戏术语
为了方便后续的论述,在这里先给出常用游戏术语的定义[2,10]。
定义1 游戏场景:在游戏运行时玩家可以移动到的和看到的整个区域。
定义2 游戏对象:在游戏场景中的任何对象,这里的对象指的是面向对象编程中的对象实例(instance)。
定义3 玩家化身(avatar):玩家直接操作的游戏对象,会根据玩家不同的输入而做出不同的动作,相应
定义4 地形:即游戏中的地面,山坡,水面等同类游戏对象构成的玩家的活动区域及其边界。
目 录
第一章 绪论 1
1.1游戏开发简述 1
1.1.1游戏 1
1.1.2游戏引擎 1
1.1.3 Unity 3D简介 1
1.1.4 C#简介 1
1.2游戏内容简述 2
第二章 设计方案 3
2.1游戏术语 3
2.2方案综述 3
第三章 详细方案与具体实现 4
3.1游戏地形 4
3.1.1 Unity地形系统简介 4
3.1.2创建游戏地形 4
3.2动画系统与僵尸对象 5
3.2.1动画片段简介 6
3.2.2 Avatar 6
3.2.3动画状态机 6
3.2.4创建僵尸的动画控制器 7
3.3僵尸的行为逻辑 8
3.3.1敌人的追踪逻辑 8
3.3.2僵尸的生命值与分数 8
3.3.3僵尸攻击的实现 10
3.4玩家 11
3.4.1玩家的视角 11
3.4.3玩家的控制 13
3.4.4家攻击实现 16
3.5游戏管理器 18
3.6僵尸的自动生成 20
第四章 改善游戏品质 23
4.1血瓶收集 23
4.2图形用户界面设计 24
*好棒文|www.hbsrm.com +Q: ^351916072^
4.2.1图形用户界面介绍 24
4.2.2游戏开始界面的制作 24
4.2.3游戏进行界面的制作 26
结束语 28
致谢 29
参考文献 30
附录 美术资源 31
第一章 绪论
1.1游戏开发简述
1.1.1游戏
同常见的应用软件一样,游戏在本质上是程序,是结构成熟完整的应用程序,但也存在一些区别的。游戏强调在画面和声音上频繁的进行渲染和改变,使得玩家可以明显的感受到在交互操作下计算机的响应。通过玩家和计算机的交互,是玩家感受到视觉和听觉上的冲击,给玩家带来强烈的代入感,这就是游戏的精髓,也正因为如此,游戏成为了成千上万人休闲娱乐的首选。
1.1.2游戏引擎
游戏开发,简单的说,就是想编写应用软件一样的编写出一款游戏。不过纯粹用程序从0开始编写非常复杂,耗时,而且会有大量的重复工作。所以,开发游戏的时候会有一种新的开发环境,叫游戏引擎[1]。与传统的集成开发环境不同,游戏引擎的关注点不再是源代码的编辑,而是使用更加可视化的操作,使得游戏的开发可以更加简洁。但游戏的开发还是需要一些开发人员编写的程序来进行一些控制的,这样的程序一般都是使用的现成的主流编程语言,这样就不需要专门的开发一个代码编辑环境,而是直接使用主流的编程语言的集成开发环境来进行源代码的编写。这实现了关注点的分离,使得开发人员可以更好的聚焦于当前的任务,开发出更好的游戏。
1.1.3 Unity 3D简介
Unity 3D简称Unity,是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity是一个跨平台的游戏开发环境,支持将开发好的游戏发布到Windows,Android,iOS等平台上,支持一键发布等跨平台操作。
Unity支持JavaScript和C#这2种主流编程语言进行游戏脚本的编写。官方推荐使用C#。因为C#语法简洁,有专门的开发环境和友好的智能提示功能,方便调试。并且,大量Unity官方案例的游戏脚本都是用C#进行编写的。
1.1.4 C#简介
C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言[3,4,5]。C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#旨在设计成为一种“简单、现代、通用”,以及面向对象的程序设计语言,此种语言的实现,应提供对于以下软件工程要素的支持:强类型检查、数组维度检查、未初始化的变量引用检测、自动垃圾收集(Garbage Collection,指一种自动内存释放技术)。软件必须做到强大、持久,并具有较强的编程生产力。
1.2游戏内容简述
在游戏中,玩家通过键盘和鼠标操作玩家化身(Avatar)进行移动、射击的动作。敌人是僵尸,会自动生成,会自动追踪玩家,并且会在靠近玩家时对玩家进行攻击。玩家通过开枪击杀僵尸。就是这样一个简单的模仿生化危机的游戏。
第二章 设计方案
2.1游戏术语
为了方便后续的论述,在这里先给出常用游戏术语的定义[2,10]。
定义1 游戏场景:在游戏运行时玩家可以移动到的和看到的整个区域。
定义2 游戏对象:在游戏场景中的任何对象,这里的对象指的是面向对象编程中的对象实例(instance)。
定义3 玩家化身(avatar):玩家直接操作的游戏对象,会根据玩家不同的输入而做出不同的动作,相应
定义4 地形:即游戏中的地面,山坡,水面等同类游戏对象构成的玩家的活动区域及其边界。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/285.html