基于Unity3D的移动游戏“小鹿快跑”的制作

(整期优先)网络出版时间:2018-12-22
/ 2

基于Unity3D的移动游戏“小鹿快跑”的制作

刘若冰

刘若冰

山东交通职业学院山东潍坊261206

摘要:根据《中国移动游戏行业发展现状及发展趋势》显示,移动游戏已经成为网络游戏行业的最大细分市场与主要增长动力,潜力无限。本文主要通过Unity3D游戏制作引擎作为开发工具,详细描述了“小鹿快跑”游戏的设计思路和实现方法。该游戏使用手机控制一只小鹿不停奔跑,遇到障碍物(树木)时单击屏幕可以跳跃过去,继续奔跑,如果碰撞到障碍物(树木)就会死亡,不限关卡数,障碍物(树木)出现的频率和速度会随着游戏奔跑距离的增长而不断提高。

关键词:移动游戏;Unity3D;小鹿快跑;场景设置

1开发的背景

电子游戏在19世纪70年代开始以一种商业娱乐媒体被引入,成为19世纪70年代末日本、美国和欧洲一个重要娱乐工业的基础。在1983年美国游戏业萧条事件及继而重生后的两年,电子游戏工业经历了超过两个年代的增长,成为了达100亿美金的工业,并与电影业竞争成为世界上最获利的娱乐产业。

根据媒介的不同可分为五种:主机游戏(或称家用机游戏、电视游戏)、掌机游戏、电脑游戏、街机游戏和移动游戏(主要是手机游戏)。

根据《中国移动游戏行业发展现状及发展趋势》显示,2017年中国移动游戏市场实际销售收入1,161.20亿元人民币,较2016年增长41.75%,其中,移动网络游戏占比增长尤为显著,从2008年占中国游戏总收入的0.81%增长至2017年的57.03%,超过客户端网络游戏的市场份额,2017年中国移动游戏用户规模达5.54亿人,较2016年增长4.92%,这说明移动游戏已经成为网络游戏行业的最大细分市场与主要增长动力。

2系统需求分析

这款手机游戏具有以下几个需求:

易操作性。易操作是手机游戏的首要特点,玩家用户不需要阅读说明书,只要进行多次试玩就可以了解游戏的规则。

实时性。要求对玩家用户的操作给出实时相应,否则该游戏即为失败。

跟踪用户习惯。根据不同的玩家用户的个人习惯,对其提供最有用的游戏信息。

充分的引导。在游戏过程中,不仅仅是让玩家用户自己玩,还需要在关键的时刻对他给与帮助。

3系统的总体设计

这款手机游戏使用Unity3D软件作为开发工具,使用UI设计对游戏的各个界面进行设计,使这款游戏具有美观的界面,并且易于用户操作。

Unity3D是由UnityTechnologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。UI对游戏的人机交互、操作逻辑、界面美观的整体进行设计,让这款游戏变得有个性有品味,同时还可以让游戏的操作变得舒适、简单、自由,充分体现这款游戏的定位和特点。

本款游戏主要由以下三个模块构成:游戏开始模块、游戏场景模块、游戏结束模块。

4各个模块的设计与实现

4.1物理引擎须解决的问题

这款手机游戏的核心是使用Unity3D开发工具解决下面几个重要问题。

(1)小鹿的运动轨迹(跳跃、重力等)。

(2)小鹿与障碍物(树木)的碰撞问题。

(3)小鹿通过障碍物(树木)得分问题。

(4)障碍物(树木)移动问题。

4.2创建Unity工程

(1)Assets:里面存放的是项目所需要的资源。

(2)Library:里面存放的是所需要的库文件。

(3)ProjectSettings:里面存放的是工程设置文件。

(4)Temp:里面存放的是临时文件。

4.3游戏场景布局

(1)切换平台为Android,选择分辨率为9:16,导入“小鹿快跑”素材包。

(2)游戏场景

根据需要,这款手机游戏需要创建4个游戏场景,分别是:start,choose,Main,HardMain。将“小鹿快跑”素材拖入scene窗口中,并调整素材的位置,对界面进行美化。

(3)编写脚本

添加完游戏素材后,需要给小鹿,障碍物(树木),地面添加如下组件:

小鹿:Rigidbody2D:CricleCollider2D;

障碍物(树木):Boxcollider2D;

地面:BoxCollider2D;

Rigidbody(刚体)组件可以通过物理模拟控制一个物体的位置,添加Rigidbody组件到一个对象,就使这个对象置于了Unity的物理引擎下并使其运动。即使没有对这个对象添加任何代码,刚体对象也将在重力的影响下下落。如果与带有碰撞器的对象发生碰撞,由于物理引擎对运动的处理,对象会有更真实的加速度和正确的碰撞反应。

Collider(碰撞体)是物理组件的一类,指的是物体之间的所有触碰,是碰撞基础。碰撞体需要与刚体一起添加到游戏对象上才能触发碰撞。如果两个没有Collider(碰撞体)的Rigidbody(刚体)碰撞到一起,它们并不会发生碰撞反应,而是会彼此穿过。

这款手机游戏中对小鹿添加CricleCollider(圆形碰撞盒),对障碍物(树木)和地面添加BoxCollider(盒状碰撞盒,一般为矩形)。

(4)代码详解

①小鹿脚本:

在给小鹿添加刚体组件后,使其产生下坠的动作,使用代码使其做出向上跳跃奔跑的动作。

在给地面添加刚体组件后,小鹿可以落在地面上而不是无限下坠,并通过代码使地面和障碍物(树木)从右向左移动,并且循环。

因为我们给小鹿加了碰撞盒,所以当小鹿与障碍物(树木)碰撞时,和通过障碍物(树木)时,要分别写两个方法,第一个OnCollisionEnter2D方法是当小鹿接触到障碍物(树木),发生碰撞后,时间停止,并且发出死亡等音效。

第二个OnTriggerExit2D方法是当小鹿通过障碍物(树木)后得分,并且触发得分音效。

播放声音是因为在Unity中小鹿的属性视图中给他们添加了各种声音。

②障碍物(树木)脚本:

这个脚本是挂载到游戏对象障碍物(树木)上的,需要实现的功能有:

向左移动

循环移动

随机树杈

③UI控制

因为我们有多个模式,一个模式就是一个场景,为了在不同场景之间进行跳转,需要添加一个场景跳转的命名空间,如下所示,就可以实现各个场景之间的跳转。

usingUnityEngine.UI;//引用UGUI的命名空间。

usingUnityEngine.SceneManagement;//场景跳转的命名空间。

5系统测试

5.1单个模块测试

(1)开始游戏模块

测试方法:点击手机屏幕,游戏开始运行。

测试结果:实现了游戏的初始化,重新开始,退出等功能。

(2)游戏难度模块

测试方法:点击游戏难度,进行难度测试。

测试结果:实现了游戏难度的控制。

5.2模块整体测试

测试方法:在Unity3d软件的Game视图中进行测试。

测试结果:实现了这款手机游戏初步设想的基本功能。

参考文献:

[1]程媛.基于Unity3D的飞行小鸟游戏的设计与实现.电脑知识与技术,2018(10).

[2]仲晓庆,蔡朝晖.基于unity3D的塔防游戏开发.科技创新与应用,2018(10).