当前位置:首页 期刊杂志

基于Unity游戏开发方法的研究

时间:2024-04-25

摘要:Unity是由Unity Technologies公司开发的3D跨平台的专业游戏引擎,基于该引擎可以很方便地开发出适用于多种平台的游戏。在介绍Unity引擎的基础上通过开发《飞盘射击》游戏为例,给出了一种基于Unity的游戏开发的一般方法。

关键词:Unity游戏引擎,游戏开发

1引言

Unity是由Unity Technologies公司开发的一款用于轻松创建3D视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合性3D开发工具,也是一个全面整合的专业游戏引擎。Unity引擎的功能强大,最显著特点就是跨平台游戏开发,生成的游戏可以导出到包括Windows、Mac、I0S、Android、PS3、Wii、XBox360在内的众多平台,跨平台开发无疑为开发者节省了大量时间。Unity游戏引擎和开发工具支持JavaScript和C#脚本语言,还可同时支持iPhone和Android平台的游戏开发,因此也是广大手机游戏开发商的首选工具。我们通过完成一个简单的《飞盘射击》游戏为例,提出一种基于Unity的面向Android平台的游戏开发的一般方法,以供Unity引擎的爱好者和初学者学习参考。

2Unity 3D引擎简介

Unity是一个3D游戏开发工具和游戏引擎套件,其中包括了图形、音频、物理、网络等多方面的引擎支持,并且有一个非常强大的编辑器来整合这一切。Unity简单的界面、友好的开发环境以及时所有流行游戏平台的广泛支持,使得它对于新的开发人员或是那些希望使用一个简单、高效并且友好的游戏引擎来创建游戏的人来说是完美的。Unity3D引擎官方的下载地址为https://store.unity.com/cn,目前最新版本为Unity 5.5.0,还在不断地升级中。Unity的下载与安装比较简单,只要根据步骤进行就可以顺利完成这个过程。安装完成后打开,首先看到的就是Unity3D的编辑器界面,如图1所示。

在主界面上,有几个主要的窗口,中问部分是游戏Game窗口和场景Scene窗口,前者是游戏窗口,就是游戏运行时的初始摄像机窗口,后者是编辑状态下当前的场景Scene对应的窗口,可以在该窗口中选择对象,然后进行编辑。

图1中左边下面是层次(Hierarchy)窗口,层次视图(Hierarchy)将显示当前打开的,unity场景文件(Scene File)中的所有物体。它用于选择并成组物体,当从场景中添加或删除一个物体时,它将在层次中显示或消失。如果不能在场景视图中同时看到所有物体,可以使用层次来选择并检视它们。

图1的中间下方是工程视图(Project View)。当创建一个工程时,将生成一组文件夹。其中之一被称为资源(Assets)文件夹。在工程视图(Pmleet View)中可以查看资源文件夹。如果打开过资源文件夹,将发现所有的项都将出现在工程视图中。

图1中的右边部分是检视面板(Inspector),当在场景窗口、层次窗口或工程视图中选中或编辑对象时,检视面板(Inspector)就会显示当前选中物体的基本信息,也显示它所包含的组件(component)和组件的属性,是用来设置场景中物体属性的地方。

游戏制作完毕后,需要进行平台打包才能最终发布,在Windows下打包与运行是比较简单的。在Unity导航菜单栏中选择"File"->"Build Settings"菜单项,此时打开Build Settings对话框。在打包游戏平台中有多种格式可供选择。当选择某个发布平台后,点击Switch Platform,然后可以选择Player Settings进行相关参数设置。一旦选择完成,点击右下角的"Build and Run"按钮,即可在Windows下创建自己的项目了。

3 《飞盘射击》游戏的设计与实现

《飞盘射击》游戏是一个简单的小游戏,它的一般思路是:游戏玩家用鼠标控制枪支,游戏画面随机产生飞盘,20秒内,如果鼠标点中飞盘打击左键即为打中,发出声响得分显示不断增加,游戏结束,可以得到总分,也可以重新开始或者结束游戏。这个游戏的思路很简单,重在介绍游戏开发的一般方法。

首先,准备游戏所需素材。游戏素材就是开发游戏所需要的模型、纹理、图片等。这里主要是手臂的模型和隧道模型,还有设计声音文件以及必要的图片,可以自己在Unity中建模,然后贴上纹理图片即可。

其次,设计游戏算法。游戏设计有3个状态:游戏开始状态、运行状态、结束状态。为了控制游戏的启动与停止,在土界面上添加一个按钮"开始游戏",游戏启动之后,开始20秒倒计时,随机飞出飞盘,鼠标点中飞盘单击左键发出射击音效,得分显示增加,时间到后倒计时计数器清零。在需要设计1个场景(Game)和5个脚本(script)。5个脚本命名为FeiPanManager、GameManager、GameReset、GameStart和Weapon。GameManager是游戏主流程控制脚本,FeiPanManager是飞盘生成和销毁的脚本,Weapon是武器射击、光效、音效、子弹生成控制脚本,GameReset和GameStart是用于UI控制的脚本。

第三,编码实现游戏算法。根据以上的设计,使用C#完成上述脚本编写,具体实现效果图如下:

第四,游戏的测试运行,程序算法实现之后,就是游戏的测试运行了。在游戏game窗El中观察游戏运行结果.如图2所示。最后将游戏的打包与发布。在Unity中打开幕单,找到Build Settings.在发布设置窗口中设置游戏打包生成的参数,将场景都包含进去.切换到相应平台发布。

4 結束

基于Unity 3D游戏开发是比较方便快捷的,本文以一个简单的例子进行了说明,例示了C#脚本的实现方法,体现了基于Unity的游戏开发的一般方法。当然,游戏开发比较复杂,更全面更复杂的功能设计与实现还需要进一步展开研究。

参考文献

【l】(美)米歇尔o梅纳德(Miehelle Menard).著.史晓明,李强,译游戏开发技术系列丛书:Unity游戏开发实战机械工业出版种.2012

【2】路朝龙. Unity3D游戏开发从入门到精通[M].北京:中国铁道出版社,2013.

【3】俞亮,俞文心.基于Unity的Web游戏设计与实现[J].计算机光盘软件与应用,2014(08):225-226.

作者简介:

胡永祥(1969年6月-)男,汉族,江苏省淮安市人,讲师,江南大学控制工程硕士,主要计算机应用、计算机网络等领域的研究

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!