陈志敏
摘 要:以unity3d游戏开发方式为论点进行研究。具体是在对untiy概念进行解析的基础上,对于手机游戏相关的关键技术进行探究,在此基础上对手机划屏控制模式、游戏虚杆控制以及游戏释放进行解析。希望unity3d技术演变成手机游戏开发的核心技术,为游戏开发人员提供处理游戏开发问题的思路。
关键词:unity3d;手机游戏;开发技术;实现程序
unity3d作为一款功能强大的游戏设计软件,其涵盖的关键技术是多样化的。文章以unity3d平台为依托,对游戏关卡、场景与功能模块的规划流程进行概述,提出了达成unity3d手机游戏研发目标应用核心技术与核心代码的建议,其带有快捷性特征,处理了单机副本与厢房挑战换卡规划与实现等问题。基于此,本文做出如下论述内容。
1.unity3d概述
unity為丹麦Unity公司研发的一种游戏开发工具,其性能包括带有汇总功能的编辑器、地形编辑、脚本、网络、版本控制等。和他类游戏引擎相比较,unity3d游戏最大的特征体现在分外重视规划者对游戏可玩性的重视程度方面,而不是过度的追求规划的简洁性[1]。另外其还带有经济性特征,这也是其备受广大游戏产品研发者欢迎的内在原因。
2.手机游戏开发关键技术
对Unity手机游戏研发进程进行解析,手机游戏拥有多个功能模块,常见的有主屏幕划屏、界面刷屏、技能成长系统、场景技能释放等,达成研发游戏的目标,在手机游戏产品设计的过程中,主要的应用的关键技术与程序可做出如下论述内容:
步骤1:借助对数值测算的形式,明确与屏幕相匹配的设计技术[2]。
步骤2:初始研究目的是达成PC端与手机端两者的触屏控制,借助Touch类与Input类规划模式从而达成在不同平台应用“十字架”滑屏技术的目标。
步骤3:借助将二维空间向量转型为三维空间向量的方式,从而使游戏手柄功能控制技术达成目标的实现不再是难题。
步骤4:应用Mecanim动画设计玩家的移动状态机,整合状态规划手机手柄管控玩家技术。
步骤5:规划与玩家相关的七大技能模块的成长技能系统,设置游戏道具创设XML表,应用字典去刷新XML表,继而应用游戏数据技术解读并获取表内数据资源,并对其进行有效管理。
步骤6:对UI版面进行规划布设,将其定制成预制构件,其最大的功能体现在加载与销毁游戏版面环节上。
步骤7:对蜘蛛、机器人、大boss三类敌人的人工智能技术进行规划,继而应用大批量射线以碰撞的形式对其性能进行检查与测量,点乘、叉乘等向量知识构建交互式攻击技术。
步骤8:对火系、水系、千里眼以及法宝等多样化技术采取实例化措施,具体是以协程为媒介,借用视线追逐算法管控技术的移动方法与攻破方法技能。
步骤9:对游戏C#脚本的逻辑算法进行规划,其囊括的内容是多样化的,常见的有游戏玩耍方法、关卡逻辑、界面刷新与怪物的人工智能。
3.手机游戏客户端的规划与实现流程
3.1手机划屏控制模式
其实质上就是能够在PC端和手机端之间获得滑屏成果,具体是借助调整界面各个方位虚拟十字架坐标的方法,达到管控和确定相机方位的目标,界面运动的模式大体上可以被细化为以下两个部分:
一是人工拖动相机促使界面位置发生变化;二是若移动的长度大于预设数值之时,自行松开鼠标相机就会以弹跳形式移动至目标地点,从而达到全方位滑动界面的目标。手机全方位滑动界面最大的功能体现在可以使摄像机投射的方位以弹跳方式移动至特定方位方面上。
算法解析
当鼠标按下之时,录入手指按下方位处的信息。当鼠标按住之时,辨识的是水平移动还是左右移动模式System.Math.Abs()得到绝对值,若上下移动的数值小于左右移动的数值,采取左右移动模式,并确定射线机方位的竖直分量值;若上下移动数值高于左右移动数值,采用竖直滑动模式,明确射线机横向分量数值。当鼠标上抬之时,测量并辨识鼠标滑动的数值,若其小于预设的滑动值,使射线机移动至特定方位;若其滑动数值过小,就将射线机返回至最初位置。
3.2游戏虚拟杆控制
借助继承NGUI内Drawdropitem类达到以鼠标与手指为媒介整顿圆球状态的目标,具体程序可以做出如下概述:(1)参照虚拟杆的尺寸,规划约束虚拟杆移动圆球的范畴以及其与中心点的间距,即小于100。若大于100,那么约束距离就为100;(2)依照中心圆球的方位至虚拟杆中心处的向量走向管控玩家角色运动方向,继而参照圆球可移动范畴对玩家移动速度进行管控,虚拟杆在整个二维平面上做圆周运动,并与三维平面上玩家移动模式构建对应关系;(3)以鼠标与手指的状态为凭据掌控中心圆球的原始状态,一旦鼠标与手指分离,那么中心圆球将会再次返回至虚拟杆的中心方位,在这样的情景中玩家处于消遣且位置不发生变动的状态中;一旦有鼠标或手指等外力移动中心圆球之时,玩家角色将会发生一定的变化。
3.3游戏释放分析
3.3.1火系技能
借助实例化方法所呈现出来的方位是高于敌人的,在协程IEnumerator流程的协助下对实例化程序进行管控,实例化火炮数目共计8个,待实例化目标达成以后,火炮自行探寻与玩家临近的敌人,对其进行攻击,应用的攻击方法多数为视线攻击。
3.3.2水系技能
实例化方位的布设体现出个性化特征,这主要是因为其始终面对敌人的缘故,正因如此实例化位置应该高于玩家,并且4个水系技能炮所存在的平面无论是与玩家还是敌人所在的直线成角均为90°。实例化初期需测算敌人到玩家方向向量的竖直向量,其宗旨在于获得竖直的单位向量,继而与间距相乘,获得水系技能的左右距离,最后其与向上的方向向量整合在一起,获得实例化方位,实例化产出以后会应用视线追踪方法对敌人展开追逐攻击。
3.3.3千里眼技能
游戏玩家通常有正常状态、千里眼状态、保护三种状态。启动该状态之时,只需对玩家状态施以切换对策,使其转型为千里眼状态,继而调整为手柄对其进行管控,在这一形式下手柄的控制模式将发生一定的转型,首要管控对象是由玩家至摄像机,移动范畴由一个圆圈范畴拓展到一个圆环范畴,实质上就是手柄的中心圆球在50~100可移动范畴内运行[3]。一旦千里眼状态被启动就会有一个管控摄像机移动方位的游戏界面被添置界面内,在这样的情景中玩家对摄像机旋转、移动两项工序就可以同步运行了。
4.游戏的发布
游戏产品制造任务完成,并且调试运转大体良好,就可以进入游戏发布环节了。unity游戏产品发布程序可以做出如下概述:在unity3d内选择文件菜单一个发布装备,在该处可以选择添置游戏情景,在前端情景中会呈现出T。在平台内可安设web播放、PC、安卓等多样化平台,继而选择发布。
结束语:
综合全文论述的内容,对手机划屏控制模式,游戏虚拟杆控制以及水系技能、火系技能、千里眼技能有一定的认识,对游戏发布程序也有初步的了解。本文受篇幅的限制,只是对unity游戏中的两种技术进行阐述,希望游戏产品开发人员在不断的实践中总结经验,从而使unity3d技术在提升游戏产品开发质量方面做出更大的贡献。
参考文献:
[1]张帅,周恒杰,张琳涛.基于Unity3D和Kinect的体感跑酷游戏开发关键技术设计与实现[J].三明学院学报,2015,06:32-36.
[2]程彬彬,王明鑫,商楠.浅谈游戏开发平台Unity3D的应用与发展前景[J].通讯世界,2016,14:236.
[3]张俊,廖金巧.基于Unity3D的手机版FPS射击游戏设计与开发[J].赤峰学院学报(自然科学版),2016,15:38-39.