基于Unity3d的篮球类游戏开发毕业论文Word文档格式.docx
- 文档编号:17671698
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:26
- 大小:1.86MB
基于Unity3d的篮球类游戏开发毕业论文Word文档格式.docx
《基于Unity3d的篮球类游戏开发毕业论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于Unity3d的篮球类游戏开发毕业论文Word文档格式.docx(26页珍藏版)》请在冰豆网上搜索。
而VR游戏在这方面达到的效果比其他平台上的效果更为显著。
它的仿真度高,体验感强,能让用户感觉更加融入游戏与享受游戏,在VR游戏开发逐渐成为热潮的今天,用Unity3D做一款VR游戏可谓是赶上了时代的潮流。
Unity3D作为当下最热门的游戏开发引擎之一,它的实用性也是一流。
Unity3D上手难度低,开发速度快,开发成本低,逐渐吸引越来越多的人使用它进行游戏开发。
加上游戏开发工作者市场尚未饱和,在游戏领域里Unity3D游戏开发的人才依然受到各大公司青睐。
高薪的工作以及乐观的前景,也使得越来越多人加入了Unity3D游戏开发的热潮当中。
目前市场上的虚拟现实游戏内容较为单一,其中大部分都为第一人称射击,虽说VR技术走在时代前沿,但要说与传统游戏的竞争其实还力有未逮。
而且一般的虚拟现实设备价格都较为昂贵,而且就实际效果而言还不够完善,设备不够便捷,同水平游戏开发难度比普通电脑端、手机端大。
因此VR游戏在现阶段仍然没有较好的普及到所有地区,通常而言只有少数发达区域会有VR游戏体验馆,而即使是那些地方受众也不算多。
因此我也希望本文能够给后续希望致力于丰富VR游戏内容的游戏开发者们一些参考[4]。
一.2国内外研究现状
就游戏本身的发展而言,从最早的文字MUD游戏到2D游戏,再到3D游戏,游戏画面和技术都在不断进步,游戏的拟真度和代入感也随之越来越强。
而到了VR游戏这一步,比起以往可以更深刻直观的体验游戏的世界。
虚拟现实的概念早在二十世纪六十年代已经存在,但是那时候的虚拟现实技术并非用在游戏上面,到了现代的硬件设备足以支持以后,才由shenx提出了第一个可实用化模型,并且由后来的Oculus开发人员、shenx、以及著名的吃豆人开发者岩谷彻等人完成,最后终于在2016年迎来了vr游戏爆发式发展。
到了今天,已经出现了不下几十款游戏发布了支持OculusRift的版本,其中包括但不限于恐怖、射击和模拟生存类游戏,例如以太空遨游为题材的游戏《BlueMarble》,就能让玩家能够在喜欢的音乐下,自由自在地漂浮于地球和月亮之间,感受那广阔而神秘的宇宙;
而恐怖冒险游戏《TheUnderworld》则需要玩家一边探索阴森的地牢,一边躲避怪物的追击。
而随时会出现的怪物会吓得玩家惊慌失措,虚拟现实给玩家带来的感受更是让恐怖指数激增。
虽然OculusRift如今推出的仍是开发版,但现有的游戏资源也已经不在少数,足够让玩家超前体验到虚拟现实游戏的魅力[9]。
除了OculusRift之外,三星的GearVR、谷歌的廉价虚拟现实设备Cardboard、索尼的PS4虚拟现实眼镜项目“墨菲斯计划”以及我们中国虚拟现实游戏头盔3glasses等等各种虚拟现实设备均相继登场,也预示着越来越多行业巨头开始涉足到这个领域。
不过,仅从目前的情况来看,虚拟现实技术的表现仍然没有达到完美的水平,实际应用过程中出现的各种问题仍然是不可避免的存在。
一.3论文组织结构
本篇文章从游戏的策划制作,后期的修改,以及论文的编写,查找了各种VR游戏开发资料,到最后完成时已经过了半年有余。
这篇文章当中具体介绍游戏的制作开发步骤,从游戏的系统功能设计到代码的编写都有论述。
论文分为六章,各章节安排如下:
第一部分:
绪论,主要阐述了该游戏制作的目的和意义、国内外VR游戏发展的状况以及本篇文章的大概介绍;
第二部分:
介绍了游戏引擎Unity3D,以及游戏中运用到的其他工具;
第三部分:
详细介绍游戏的各个模块的制作过程,清晰明确游戏内部关系,采用由下到上的顺序层层拆析步骤;
第四部分:
运行游戏进行测试,打包封装;
第五部分:
总结与感想。
第二章开发工具介绍
二.1Unity3D游戏引擎
二.1.1Unity3D软件介绍
Unity3D是一款由UnityTechnologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等各种类型互动内容的多平台的综合型游戏开发引擎,可谓是一个全面整合的专业游戏引擎。
Unity类似于Director,Blendergameengine,Virtools或TorqueGameBuilder等利用交互的图型化开发环境为首要方式的软件。
它的编辑器可运行在Windows、Linux(目前仅支持Ubuntu和Centos发行版)、MacOSX下,也可发布游戏至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、Windowsphone8和Android等各个平台。
也可以利用Unitywebplayer插件来发布网页游戏,同时支持Mac和Windows的网页浏览。
它的网页播放器也被Mac所支持。
通常而言平台之间的差别会影响到产品的开发速度和进度,因此很多开发者都要在这上面花费大量的时间、资源,而Unity3D则能够在近10种主流平台之间完美移植。
同时Unity3D提供的操作界面也能够同时完美地在Windows和MacOS下部署。
这款软件自带的五个工程视图框架能够很好地帮助游戏开发者们分类游戏中的对象及随时观察制作游戏的进程。
其中Scene视图主要存放游戏中模型资源,Project视图主要存放游戏中的资源文件,Hierarchy视图主要放置游戏场景中具体的游戏对象,Inspector视图主要用来描述游戏资源的信息,Game视图是用来观察已经完成的游戏的运行成果。
Unity3D还为我们提供了多种脚本语言编译的常用环境,用户可以根据需求将默认的编译环境做出调整。
Unity3D支持C#、javascript、boo三种脚本语言[1]。
二.1.2SteamVR开发套件
Unity3D支持使用SteamVR插件。
SteamVR开发套件包含一个头戴式显示器、左手右手各一个的手持控制器、一个用于空间内追踪显示器和手持控制器的定位系统。
戴上头戴式显示器在房间内走动,定位系统即可把位置和方向捕捉到从而反馈给电脑,其精度准确到微米单位。
而左右手各一个的手持控制器上有高分辨率触摸板,以及各种扳机,用于触发游戏内的各种功能,实现玩家和游戏世界的互动。
而定位系统由两个定位器(即双定位器)组成,将双定位器分别放置于房间的对角位置上,即可精准进行定位。
二.1.3HTCVive
HTCVive是HTC与Valve联合开发的一款虚拟现实头戴式显示器产品,可和SteamVR联合开发虚拟现实游戏。
该头戴式显示器有着单眼有效分辨率1200*1080,双眼合并分辨率2160*1200的超高分辨率。
这个分辨率使画面的颗粒感降到极低,玩家基本感觉不到纱门效应。
画面刷新率为90Hz,延迟约为22ms,实际体验几乎没有延迟。
当然这当中也包括两个手持控制器。
HTCViveVR设备被用于各个方面,例如建筑、医疗、教学等各个领域都有在虚拟现实中进行过应用的开发[2]。
二.1.4SteamVR插件
利用SteamVR插件进行游戏开发还需要将SteamVR开发插件中所包含的CameraRig,SteamVR和StatusPrefab导入场景,以便Unity3D可以识别VR设备。
CameraRig表示个人整个活动的范围。
子物体有一个摄像头,一个耳机和一个头盔,包括左右手柄。
在Unity3D中直接导入此预设并调整变换组件的比例,使其成为场景中人员的你所需要的适当百分比。
该系统继承了LaserPoint的LaserPointer,通过添加LaserCubeCollider类即可使手柄发出的笔直激光与VR一起操作[13]。
二.1.5GUI(图形用户界面)
本文主要使用NGUI和UGUI进行UI界面的开发,GUI是图形用户界面的英文简写。
Unity的GUI系统被称作UnityGUI,UnityGUI能使你非常快捷简便的添加功能齐备且种类繁多的界面元素,使你只需要一次性写出很少量的代码就能同时完成创建一个GUI界面元素实例,并定位实例在屏幕的位置和描述界面元素被激活时所要执行的脚本三种工作。
通过在GUI控件的创建操作中同时包括实例化,定位和功能定义。
UGUI是Unity内置的,NGUI则是一款为Unity游戏引擎开发的工具功能扩展的UI插件,它也能够为开发者提供方便快捷的UI设计方法,降低UI设计成本,加快设计游戏的速度,从而达到加快游戏开发速度。
二.23DsMax软件
3Dsmax是discreet公司开发的一款基于PC操作系统的三维动画渲染和三维对象制作软件,是各大游戏开发商最常用建模工具之一。
其前身是基于DOS操作系统的3DStudio软件。
软件最开始被运用于电脑游戏中制作动画,而后更进一步用在于参与影视片中的特效制作。
本游戏中的模型除了少数简单的形状使用Unity自带的模型建立,其余均使用3DsMax来建模。
但是可能由于版本以及一些未知错误,在模型导入过程中丢失了不少素材,但是成功导入的素材也足够进行游戏开发,因此并没有深入了解导致3DsMax和Unity3D中素材不兼容的错误发生于哪里。
二.3AdobePhotoshop
AdobePhotoshop,简称“PS”,是一款图像处理软件。
Photoshop主要处理数字图像,进行图片编辑工作。
运用Photoshop上的各种功能,对图像、图形、视频、文字等方面都可以进行操作。
Photoshop支持Windows操作系统、Android和MacOS,在图像处理软件市场中也算是被使用最多的软件之一。
本游戏中的选关界面以及图片,均为网络上寻找素材,然后使用Photoshop进行处理,最后导出为PNG格式图片,方便导入到Unity3D中成为游戏素材。
二.4VisualStudio2019
VisualStudio2019,于2018年6月开始开发,于2019年4月2日正式版首发。
该软件由微软公司进行开发。
运用它所写得目标代码适用于微软所支持的所有平台。
它是当下最为流行的Windows平台应用程序的集成开发环境。
比起VisualStudio2017,VisualStudio2019新增了一键清除代码功能,以及加入了全新的AI支持。
此外,还同时引入了实时共享功能。
VisualStudio201也优化了Debug功能,比起以前的版本来得都要更加高效和快捷。
第三章游戏设计
三.1场景设计
本游戏场景主要为游戏开始界面和游戏进行界面。
游戏开始界面使用网络中寻找的图片素材,运用Photoshop进行处理后结合成开始界面和选关界面的素材。
游戏进行界面主要是一个篮球场,以及篮球场内的东西,比如地板,篮筐,篮球架,墙壁,篮球场外围铁丝网。
该部分主要使用3DSMax进行建模。
三.1.1场景的制作
由于使用3DSMax所建造的模型较多,在此只举例说明篮球架的制作。
首先上网找到篮球架的样子,并查找它的规格尺寸数据,然后在建模时根据实际情况进行微调数据比例。
这里从篮球架的底部开始。
如图3-1所示。
图3-1篮球架的底部样条线
先用样条线画出大概形状,然后再调整点的位置,并给转角的点圆角一下,让它过渡显得自然一些,然后给样条线挤出100cm,最后再调整一下整体的比例
另一个底部也是同样的做法,先画样条线,再挤出,然后调整比例。
最后成品如图3-2所示。
图3-2篮球架底部完成图
支架的制作由3个长方体构成,先给它们摆好位置,如图3-3所示。
图3-3篮球架支架初始图
然后对上面两个长方体转为可编辑多边形,同过过调整它们的顶点,效果如图3-4所示。
图3-4编辑后形状
然后下面的长方体通过布尔拾取斜着的长方体,让两个长方体有一个平滑的切面,效果如图3-5所示:
图3-5篮球架支架下半部分
然后进行篮板的制作。
篮板的制作根据网络上的数据以及比例做一个长方体,然后给它上面两个的转角边进行切角,让它变得圆滑一点。
同样复制一个长方体后把这个长方体给它循环两条边,再删掉多余的面,给边界封口后,调整它的大小,使其成飞一个包裹住篮板下面两个角的L行的防撞体。
同样给这两个东西的转角边进行一个切角。
效果如图3-6所示。
图3-6篮球架篮板
其他支架同样是用样条线画出大概形状,然后挤出,调整点的位置和整体的比例。
效果如图3-7所示。
图3-7篮球架次要支架
然后用样条线画出下面的形状,然后打开渲染,把厚度调成3cm得到效果如图3-8所示。
图3-8篮球
支架最终形状
最后还需要做一个篮筐。
用两个长方体和一个圆环制作,把长方体转为可编辑多边形后调整它的点,然后给转角边做切角。
然后再做一个圆环,即可完成篮筐。
效果如图3-9所示。
图3-9篮
框模型
将上述建好的模型进行组合,最终的到一个完整的篮球架,效果如图3-10所示。
图3-10完整篮球架
三.2开始界面
进入游戏后的第一个界面。
由Photoshop处理完素材后制作而成。
如图3-11所示。
此界面在开始游戏按钮处添加了按钮Button,并把进入到选关页面的代码放入了Button当中。
代码内容如下。
1.using
System.Collections;
2.using
System.Collections.Generic;
3.using
UnityEngine;
4.using
UnityEngine.Events;
5.using
UnityEngine.SceneManagement;
6.using
UnityEngine.UI;
7.
8.public
class
startbutton
:
MonoBehaviour
9.{
10.
public
GameObject
startbtn;
11.
//
Start
is
called
before
the
first
frame
update
12.
void
Start()
13.
{
14.
startbtn.GetComponent<
Button>
().onClick.AddListener(onClick);
15.
}
16.
onClick()
17.
18.
Debug.Log("
button"
);
19.
SceneManager.LoadScene
(1);
20.
21.
Update()
22.
23.
24.}
图3-11游戏开始界面
此部分代码运用GetComponent<
>
()找到开始游戏按钮内的Button,并且在玩家使用激光触发该按钮后执行切换场景到选关场景,该部分由SceneManager.LoadScene()实现。
三.2.1选关界面
首先把美术素材进行拼贴,做好选关板块后给每个关卡图片都加上Button按钮,并编写切换Scene代码达到切换关卡的效果。
选关界面如图3-12所示。
图3-12游戏选关界面
选关部分的代码与开始界面的代码较为类似,即使用GetComponent<
()找到6个关卡按钮,然后根据所选择的关卡进行Scene切换,代码如下:
6.
7.public
buttonguan1
8.{
9.
xuanguantbtnone;
xuanguantbtntwo;
xuanguantbtnthr;
xuanguantbtnfou;
xuanguantbtnfiv;
xuanguantbtnsix;
xuanguantbtnone.GetComponent<
().onClick.AddListener(onClick1);
xuanguantbtntwo.GetComponent<
().onClick.AddListener(onClick2);
xuanguantbtnthr.GetComponent<
().onClick.AddListener(onClick3);
xuanguantbtnfou.GetComponent<
().onClick.AddListener(onClick4);
xuanguantbtnfiv.GetComponent<
().onClick.AddLi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Unity3d 篮球 游戏 开发 毕业论文