基于Unity3D的冒险闯关类游戏的设计与实现

2020-08-21 17:21周正司占军
电脑知识与技术 2020年21期
关键词:脚本

周正 司占军

摘要:Unity3D作为游戏开发引擎,开源、免费的特性使其成为移动端游戏开发的热门选择。冒险闯关类游戏是一种非常受欢迎的游戏,通过关卡的难度递增,来激发玩家的好胜心,从而长时间维持玩家对游戏的兴趣。该文基于Unity3D开发引擎,设计并制作了一个冒险闯关类的3D游戏。使用了3ds Max软件建造角色和场景的模型,使用Adobe Photoshop和Adobe Premiere进行素材的制作和编辑,使用C#语言进行游戏逻辑的编写,最后在Unity3D中实现游戏的开发。

关键词:Unity3D;冒险闯关类游戏;C#脚本

中图分类号:TP37 文献标识码:A

文章编号:1009-3044(2020)21-0090-02

开放科学(资源服务)标识码(OSID):

国内游戏产业突飞猛进的发展和手机的飞速普及,使得手机游戏的用户数量越来越多,手机游戏逐渐成为人们娱乐消遣的主要方式之一。本文设计并制作了一款基于Unity3D引擎开发的手机游戏,游戏角色设定为一个叫贤二的小和尚,他是一个可爱、善良但又有很多烦恼的小和尚,将这个有趣的小和尚作为游戏的特定市场形象.以求在目标顾客心目中形成一种特殊的偏爱。

游戏的创新点在于游戏类型的集合,游戏类型定位为冒险闯关类,其次还融合了一些音乐和教育元素。在保证该游戏具有娱乐性的前提下,将一些哲理性对话融入游戏中,在游戏中添加适当的故事情节,使教育性与娱乐性相结合,借此来增加游戏的教育价值[1]。因此,游戏将目标市场定位在青少年身上,并且选择发布在Android端。

1 设计与制作思路

游戏的制作包括使用Photoshop进行展示界面按钮和背景的UI设计制作,使用3Ds Max进行人物角色以及场景建模,在Unity3D中制作游戏的UI交互,实现页面跳转等交互功能,使用C#语言编写游戏脚本实现游戏逻辑功能,在Unity3D中搭建场景,添加音乐等,测试完成后打包发布.apk格式到安卓手机端。游戏设计框架如图1所示。

2 开发环境与软件

开发环境:Windows7旗舰版系统,InteI(R) Celeron(R)3205U@1.50GHz.4.OGB内存,64位操作系统。

制作软件:Unity 2018.1、Adobe Photoshop CC 2017、VisualStudi0 2017、Adobe Premiere Pro CC 2017n

3 游戏的设计与制作

3.1 功能确定

游戏共有3关,每一关的背景不同,难度不同,关卡的难易程度之间具有一定的递进关系。角色会自动前进,然后玩家通过点击手机来控制前进。游戏功能包括点击转弯、点击跳跃、接触收取经验(收集钻石和冰激凌、加速功能、减速功能),重力功能(屏幕左右倾斜来移动主角位置)。

3.2 图片素材的整理制作

游戏的角色贤二是一个已经小有名气的动漫人物,在互联网上和微信公众号上均有相关资料,游戏的背景图就是根据已有的动漫背景图颜色而定的。使用Adobe Photoshop CC2017制作游戏背景图以及插图,背景图如图2所示。和游戏胜利声。编辑时,将音乐拖拽到时间轴上,根据需要时间的长短进行裁切或复制,将其他重复的音效裁掉,只留下需要的音效即可,最终保存为.MP3格式。

3.4 角色与场景建模

用3ds Max软件进行建模。在开始建模之前,首先要进行单位设置,将系统单位比例改成1单位=1.0米。角色建模需要注意的是,由于后期需要制作人物模型行走的动画,所以胳膊和腿建模时要能从身体中分离开。游戏共有三个关卡,每关各有不同的风格,所以模型也不一样。例如第一关主题是春天的不二寺,模型全是一些花草和动物;第二关主题是春天的市集,模型大多是建筑,有一些店铺、周边凉亭、水井等;第三关主题是夏天,模型有荷花、向日葵等夏天的植物,还有大号的遮阳伞、凉椅等物件。

3.5 脚本的编写

脚本编写是为了实现UI界面的跳转和实现游戏逻辑,具体包括主界面与设置界面的脚本、背景图、对话框和文字的跳转、Loading脚本、胜利与失败界面的脚本、人物角色移动脚本、相机移动脚本、Coin脚本以及游戏管理类脚本的编写。以相机移动的脚本为例。

public class CameraMove: MonoBehaviour{

public Transform target;

Vector3 0ffect=Vector3。zero;//开始时定义相机是不进行移动的

public bool kai=false;

,/Use this for initialization

void Start(){

//Update is called once per frame

void LateUpdate O{

if(kai)

{ //随着人物角色的移动,相机开始移动

transform.position= target.position - offect;)}

public void KaiShi0

{

//当人物角色开始移动的时候,相机的移动才开始

offect= target.position - transform.position;

kai_ true;}}

3.6 UI界面的设计与制作

游戲的UI界面使用Unity3D中的UGUI工具来进行创建,所需的按钮包括“旅程”按钮、“设置”按钮、“点击”按钮、“返回首页”按钮、“重新开始”按钮等。制作完成的界面如图6所示。

3.7测试及发布

点击Unity中的play按键进行测试,注意观察Console中是否出现红字警告,若是出现便暂停测试,点击红字跳转到错误部分迸行更改。若是出现点击play后不能运行并且屏幕上出现提示信息时,很有可能是代码出现问题,再挨个进行查看更改,直到最终可以成功运行为止。游戏在Unity中成功运行后,可以发布成.apk格式进行手机端的测试,测试无误后,即可发布到安卓手机。

4 结束语

手机游戏是游戏产业发展的主流趋势,而使用Unity3D游戏开发引擎在游戏开发领域也可以说是炙手可热,所以基于Unity来开发手机游戏的前景一片光明。同时,通过游戏制作之前进行的调研发现,现在冒险类游戏的热度仅仅低于益智类游戏,也说明了很多玩家对于冒险类游戏的忠诚度。本次利用Unity引擎设计实现的冒险闯关类小游戏,正迎合了当前游戏产业蓬勃发展的机遇,具有良好的发展前景。

参考文献:

[1]贾成净,张守波.基于创新推广理论的教育游戏推广策略[J].电脑知识与技术,2012,8(1): 226-227.

【通联编辑:谢媛媛】

作者简介:周正(1996-),男,山东枣庄人,硕士,研究方向为虚拟仿真技术;司占军(1971-),男,河北人,教授,硕士,研究方向为数字媒体技术。

猜你喜欢
脚本
酒驾
此去人海茫茫,各自风雨灿烂
数据库系统shell脚本应用
快乐假期
神奇的数学
愚人节大作战
小编的新年愿望
友谊的小船说翻就翻