基于Unity3D的第一人称射击游戏技术实现--毕业设计.docx
- 文档编号:248599
- 上传时间:2022-10-07
- 格式:DOCX
- 页数:24
- 大小:1.70MB
基于Unity3D的第一人称射击游戏技术实现--毕业设计.docx
《基于Unity3D的第一人称射击游戏技术实现--毕业设计.docx》由会员分享,可在线阅读,更多相关《基于Unity3D的第一人称射击游戏技术实现--毕业设计.docx(24页珍藏版)》请在冰豆网上搜索。
1.引言
1.1开发背景
随着计算机的发展,各种电子游戏层出不穷,不断冲击着人们的视觉。
如今社会,电子游戏已经成为青年人们消遣,释放压力的一种方式。
其中CS,CF等第一人称射击类成为众多游戏迷的选择,这种3D游戏的真实感和还原度不仅能在视觉和听觉上有独特的创新,还可以提供团队作战,多人联网游戏等功能,使玩家有各种不同的新体验。
现如今,3D射击类游戏通常以第一人称视觉为主的游戏形式出现,这样的形式,不但可以让玩家进入了惊险刺激的游戏里面,又满足了玩家在生活中体验不到的乐趣。
所以,这种特点的游戏是十分具有发展前景的。
Unity3D是这个毕业设计的开发工具。
Unity3D是一个以易用和实用为主打,可跨多平台的游戏开发工具。
作为一个完全由专业集成的开发软件,Unity3D还包含了价值数百万美元的功能强大的游戏引擎。
Unity3D是一个多平台的游戏开发工具,因此,利用Unity3D并且综合多重开发工具例如:
PhotoshopCS3,C#等编程语言进行的游戏开发,具有非常高的可行性。
第一人称射击游戏类具有庞大的客户基础,市场前景非常可观。
[1]
1.2研究目的与意义
本次毕业设计的题目为基于Unity3D的第一人称射击游戏技术实现,目的在于成功的设计出一款可以运行在各种客户端的设计游戏,在项目完成的时候,玩家可以通过操作对游戏里的主角进行活动,以达到玩家体验虚拟游戏的目的。
在这个游戏中,游戏的参与者可以在用户端上面通过向左或向右滑动来改变主角的方向,同时我们还可以通过怪物对主角的跟踪从而对主角进行碰撞检测,使我们的主角生命值降低,从而改变游戏的状态。
通过此射击游戏的开发设计,使我对大型三维游戏的制作有了更深一层的了解,明白了游戏的一般的制作过程,发布过程,是我学习上的一个全新的体验,具有提高实践开发能力的意义。
精品文档知识共享
2开发环境和技术
2.1开发环境
2.1.1Unity3D
图2.1Unity3D标志
Untiy3D是本次毕业设计最主要的软件。
这个软件以使用,易用和跨平台为主,Unity还具有一个性能非常领先的游戏引擎,价值不菲,是一个完全集成的专业应用。
正由于它强大的专业游戏开发引擎能大大节省开发的时间,所以
Unity3D是市面上一个高效率的多平台的游戏开发工具。
[2]
2.1.2C# 语言
图2.2 C#
C#是本次游戏的主要脚本语言,C#是一个面向对象的计算机语言,同时它也是拥有相对较高安全系数的客户端脚本语言。
C#也通常用于web客户端的开发,网页中的动态功能就可以用C#去编写。
游戏中的脚本语言也可以用到C#,因为
C#的结构相对比较简单,所以非常适用于游戏开发当中去。
以本次借鉴的游戏
CS反恐精英为例子,这款游戏就是运用C#去进行脚本的编写,可见C#在游戏开发中的热门程度。
2.1.3Maya2013
图2.3 Maya制作效果参考图
Maya2013是一款由美国出品的三维动画软件,在世界的应用非常广泛,应用对象是十分专业的制作,例如影视广告,角色动画,游戏设计,电影特技等。
Maya功能十分完善,是电影级别的高端制作软件而且工作灵活,易学易用,制作效率极高,渲染真实感极强。
[3]
2.2运行环境
运行游戏所需要的硬件和软件推荐配置见表2-1:
表2-1运行环境和配置要求
名称 软件/硬件 版本或配置的要求
Windows操作系统 软件 XP或以上
DirectX驱动 软件 3.0或以上
PC个人电脑 硬件 个人电脑显卡 硬件 4G以上
续表2-1运行环境和配置要求
名称 软件/硬件 版本或配置的要求
内存 硬件 2G以上
2.3开发步骤
要开发出一款射击类游戏,首先要了解它的开发工具和脚本语言。
在校期间,我通过学校的课程学习和在图书馆中查阅与开发项目相关的资料,渐渐的对游戏引擎有了一定的了解,选择了自己相对熟悉的C#作为本次开发的脚本语言。
然后深入学习在开发中的要使用C#包,通过自己查阅C#相关资料,在网上搜索的资源和老师的指导,达到能开发游戏的水平。
整个毕业设计过程见表2-2:
表2-2项目开发计划和步骤
步骤 详细内容
1 学习使用Unity3D平台,在书本和网上对Unity进行了解。
认真去探究Unity3D每个功能模块的作用和操作方法。
通过课堂的学习和老师的细心指导,尽快熟悉了解每一个模块的基本操作。
2 做出游戏的主要场景,设计游戏的主要架构,明确游戏中角色与角色,角色与场景之间的交互过程;在网络上或者课件上查找场景角色相关的资源,方便开发。
3 将找到的资源导入系统,设置场景中的元素,比如障碍物、主角、武器、敌人、出生地点等。
具体制定游戏逻辑关系,对游戏里的角色交互进行初步规划。
4将每个角色或者组件的脚本进行编辑,调试每个组件之
间的功能与交互性,编写出游戏的开始,过程和结束时的状态。
这个过程是整个开发中的核心内容。
5 测试游戏,从开始到结束把游戏玩几遍,证实游戏的可玩性,并对每一处可能存在的错误漏洞进行排除
续表2-2项目开发计划和步骤
步骤 详细内容
6 最后,查阅相关资料,编写毕业论文,总结毕业设计过程中存在的错误和可以改进的地方,准备答辩演讲稿。
3Unity3D
3.1Unity3D发展
图3.1Unity标志
上面已经提过很多次,不过想在这里详细介绍一下Unity3D,它是由丹麦
Unity公司开发的一个游戏开发工具,具有跨平台,多功能,易使用等等的特性。
正由于它强大的整合编辑和跨平台发布能力,使它成为市面上最受开发者青睐的开发工具之一。
Unity3D经过多年的发展,目前的已发行的最高发版本为5.0版,这个版本代表了一个质的飞跃——内置的光照贴图、遮挡剔除和调试器。
重新革新的编辑器,可以获得大大提高开发的效率。
[4]
3.2Unity3D的特点
Unity3D是利用交互的图型化开发环境为首要方式的游戏开发工具,类似于Blendergameengine,Virtools或TorqueGameBuilder等等开发软件,它具有综合编辑、支持多格式、一键部署、混合视频音频流、支持多脚本、重写渲染引擎、Unity资源服务器等特点,这就是Unity3D与其他游戏编辑软件的不同之处。
因为它的编辑器可以运行在微软和苹果电脑系统中,所以开发的程序可发布游戏至windows,苹果和安卓这些平台。
它也可以利用它独有的插件去各种发布网页游戏,手机游戏,支持多种系统的网页浏览。
[5]因为其适应性极强,兼容性极高,所以是各种不同种类的游戏开发者的首选。
最新版本的Unity3D特点具体见表3-1:
表3-1Unity3D特点
主要特点 具体内容
1)综合的编辑Unity拥有一个整合性的编辑器,它可以同意地对每一个界面进行编辑,因此节省了逐个打开每个界面的时间,提高了开发的效率。
2)支持多种格式 开发软件支持多种主要文件格式,而且能和大多数相关应用程序协同工作。
3)一键部署 Unity可以让开发者的项目在多平台发布。
在File选项中的BuildSetting功能中,可供选择的方案十分多样齐全,开发者可以选择将自己的程序发布到自己选择平台上,典型的平台有Windows平台,或者安卓,iOS平台等。
[6]
4)混合音频流和视频流
实时同步3D图形,混合音频流、视频流,以达到使本游戏更加逼真和传神。
5)支持多脚本Unity3D支持JavaScript,C#,Boo这三种脚本语言。
支持多脚本的特点为更多不同语言的编程人员提供了开发的可能,也使程序更具兼容性。
[7]
6)重写渲染引擎Unity3D最新版本中改写了全部的渲染终端,这样使得新版变的比以前的版本更加的灵活。
渲染的时间也比以前缩短一倍。
7)Unity资源服务器
由于Unity3D的资源服务器是一个版本控制的产品。
对于场景的切换更加快捷,极大的提高了开发效率。
3.3Unity3D包的使用
在Unity3D中自带着许多写好的包,人们都可以直接将这些写好的包进行调用,这样就非常的方便了我们的游戏开发和制作,而且,我们也可以在网上找到一些别人已经写好的包导入到自己的开发的游戏中去,然后根据自己的游戏设计的需求,对那些下载了的包进行一个小小的改动,使它更好的适用于我们的游戏当中,从而使游戏的可玩性更高。
Unity3D中包的使用极大的提高了开发的效率,使我们的开发更加方便,而且也节约了我们不少的开发时间,缩短了开发的周期。
[8]
3.4Unity3D发布平台
Unity3D可以把开发的游戏发布在电脑,安卓,苹果手机系统和网页游戏上,这种多平台开发的功能可以方便游戏能用于各种不同的终端当中。
[9]不但这样,
Unity还可以将游戏发布出很多种文件格式,例如.exe文件和.apk文件,还有.swf文件等等。
[10]
图3.2发布平台
4游戏设计
4.1开发目标
本次游戏开发的目标是设计出一个具有基本打怪功能的第一人称射击小游戏。
该游戏具有打击怪物,计分和统计历史最高纪录的功能,怪物可以追踪主角,打倒一个怪物可以获得100计分。
弹药100发,当弹药耗尽时候更换弹药。
当主
角生命值为0时,游戏结束。
4.2界面设计
4.2.1游戏设计
准备一个游戏场所,场景中的美术设计可以再网上下载或者在教学课件中找到,然后,再在游戏中的墙壁设置碰撞功能。
图4.1游戏场景
载入素材,选择三个场景模型,在菜单栏中的【MeshCollider】设置碰撞体组件
图4.2选择场景模型
图4.3设置碰撞组件
4.3主角设计
4.3.1设置主角组件
在菜单栏中创建一个主角的组件,然后设置其参数,取消选择重力模拟,选着不熟物理影响,这样主角就能用脚本语言进行控制了。
图4.4设置主角组件
设置主角的生命值,移动和镜头的代码,见图4.5和图4.6
图4.5主角基础数据代码
监视键盘,把w,s,a,d设置为主角移动的上下左右键
图4.6控制主角行动代码
将代码放进Player.cs,指定给角色组件,按W,S,A,D,移动鼠标,就可以对角色进行上下左右和镜头的移动。
4.3.2设置武器
要将武器绑定在主角身上,随着主角移动。
把素材导入场景中,设置武器的位置。
图4.7武器组件位置设置
4.4敌人设计
射击游戏中必须有敌人或者打击目标。
本游戏中,敌人会对游戏中的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Unity3D 第一人称 射击 游戏 技术 实现 毕业设计