基于Android平台Unity3D游戏设计与实现

2018-10-20 14:16周世明胡玮
数码设计 2018年15期
关键词:Android平台

周世明 胡玮

摘要:随着三维立体技术的不断发展,3D游戏逐渐兴起。本文主要从Android平台的角度出发,以峡谷攻防游戏为切入点,分析Unity3D游戏的设计策划、流程编辑以及游戏的实现等内容,希望能够为相关的研究人员提供一定的借鉴。

关键词:Unity3D引擎;Android平台;游戏开发

中图分类号:TP311.52   文献标识码:A   文章编号:1672-9129(2018)15-0071-01

Abstract: with the continuous development of three-dimensional technology, 3D games have gradually emerged. From the perspective of Android platform, this paper analyzes the design and planning of Unity3D games, process editing, and the realization of games from the perspective of Canyon offensive and defensive games, hoping to provide some reference for relevant researchers.

Keywords: Unity3D engine; Android platform; Game Development

随着无线网络和智能手机的兴起,手机不仅仅是人们通信和联系的工具,变得更加娱乐化。很多人习惯用手机看视频、玩游戏。很多游戏公司都在朝着3D方向发展,3D游戏更加立体,玩家有着更加逼真的游戏体验,因而备受追捧。

1 Unity3D引擎简介

Unity3D是由Unity Technologies设计的游戏引擎,是一款游戏开发工具,可以实现游戏的立体化、建筑可视化。Unity的操作见界面清晰简单,而且适用的范围比较广,支持很多当前的流行游戏,即便对于初学者来说也是非常容易就可以学会的。

2 游戏设计

本文设计的游戏是一款士兵攻防游戏,游戏的主要玩法就是玩家命令士兵代替自己在游戏中通过武力手段占领对方的基地,攻打成功,玩家胜利,反之则失败,游戏结束。在设计这一款游戏的时候,由于其中的地理建筑比较多,所以采用Unity3D引擎设计的呈现效果更佳。使用的编程语言是C#,C#结合了C++强大的编程功能以及Visual Basic操作简单优点,可以减少编程的工作量。

2.1地图说明。地图上分布着树林、草地和一些据点。游戏双方在开始进行游戏的时候都各自有一个据点,以蓝色和红色区分。此外还有一部分据点是黑色的,这部分据点处于无人占领的状态。

2.2据点说明。据点是游戏双方争战的焦点。本游戏中的设定的据点是具有增长金钱的功能特性,所以双方都要尽量占有多的游戏据点。玩家在攻占据点的时候可以发现据点上方有一个表示据点内的军队数量,玩家需要考量自己当前的战斗实力来决定是否进行攻打。

2.3部队说明。部队的数据值呈现的是部队的战斗力和士兵数量,部队是展开和推进游戏的主要力量。

2.4派遣说明。派遣玩家根据自己的战斗状况派遣己方的军队沿着游戏中预设的道路去占领周围的据点。

3 游戏流程设计

本款游戏的操作流程如下图所示。玩家在操作界面上点击“开始”,就会进入游戏界面,玩家如果是第一次玩的时候可以点击“帮助”,里面有一些操作游戏的说明;或者玩家可以直接进入游戏,选择通关关卡进入游戏。

程序流程控制如下:

本款游戲主要使用是Unity3D引擎中的MonoBehaviour类,将玩家在游戏中的操作分成单一的动作行为,并且将每一个操作行为作为一个MonoBehaviour类来封装。再生成每个MonoBehaviour类的实例,并作为组件嵌入游戏对象。然后按照一定的顺序(从下到上)调用每个对象的重载方法来实现游戏对象的全部行为。

常用到的是以下几种函数:

①Update()。当MonoBehaviour启用时,其Update在每一帧被调用。

②Awake()。当一个脚本实例被载入时,Awake被调用。

③Start()。Start仅在Update函数第一次被调用前调用。

4 游戏主要类实现

4.1据点类实现。本款游戏的主要环节就是游戏据点的占领,游戏的玩家也主要是围绕据点来进行游戏的,所以据点类的操作实现非常重要。

据点在游戏中有三种不同的状态:己方;敌方;无人占领。玩家需要判断瓦据点的状态决定游戏操作。下面根据枚举类型来规定据点的状态:

public    enum   judianstate

{

PlayerOccupy=1,

EnemyOccupy=2,

NonOccupy=3

}

玩家在进行游戏的过程中,可以对已经占领的据点进行操控。玩家可以用鼠标点击已经占领的据点,同时在据点中会出现征兵的命令,此时周围有一些据点也被点亮,这些被点亮的据点代表着玩家可以对其实施指派的命令,玩家可以指挥自己据点中的队伍对其进行攻占。如果周围其他的据点也处于被玩家占领的状态,那么只能进行部队传输,然后再进行新一轮的点亮和攻占。

4.2部队类实现。部队是代替玩家在游戏中攻防战斗的主要力量。在游戏中,玩家可以向部队发出战斗和寻路的指令。寻路是因为本款游戏中有固定的通路,所以部队需要在玩家的指令下前进。作战命令就是部队与敌方之间的较量。

部队在前往对方据点进行攻击的时候,使用的是NavMesh Agent组件,部队在执行此项命令的时候,玩家只需要在游戏中动态指定据点,部队就可以沿着游戏中规定的路径前往。

结语:本文主要分析了如何利用Unity3D引擎设计和实现游戏,使用Unity研发游戏相对来说是比较简单的。当然,随着技术不断开发和应用也会遇到一些问题,需要进一步完善Unity3D引擎游戏设计。

参考文献:

[1]林深华,范志尚,蒋建兵,朱亚超.基于Android平台Unity3D游戏设计与实现[J].企业科技与发展(下半月),2013,(5):40-42.

[2]上官大堰,黄心渊,孙望舒,李欣桐.基于Android平台的Unity3D网络功能的开发[J].计算机应用与软件,2015,(8):72-75,131.

猜你喜欢
Android平台
基于Android平台的儿童跟踪系统
基于Android平台的老人跌倒检测算法及APP设计
基于Android平台软件开发技术研究
基于Android平台的人脸识别系统设计与实现
基于Android平台的健康医疗APP设计与开发
Android手机主题设计 
基于Android的Python语言英汉维电子词典设计与实现
Android平台下的空气质量和天气情况查询应用设计与实现
基于Android的移动GIS系统的应用与实现
基于移动互联网的糖尿病医疗辅助系统设计与实现