某些技能范围较大,甚至超出了屏幕,很多时候技能都不确定自己是否打中,只能“盲狙”。另外,由于手机游戏的设置,不能像鼠标操作一样很好地观察地形,团战发生时,不能很好地同时兼顾查看战场和操作自己的英雄。
像《王者荣耀》这一类的手游MOBA游戏,特别是虚拟摇杆方式的,已经脱离原来端游MOBA的鼠标操作(实际上是即时战略)的方式,变成了类似暗黑的这种动作RPG游戏,所以有很多端游的经典MOBA元素(例如插眼、控视野)不能很好地实现,团战、队友配合也因为视野的原因受到限制。
另外,也许是为了增加游戏新的乐趣,王者荣耀现在越来越多出各种手长技能的英雄,那同时带来的视野限制就愈加明显。本质来说,手游MOBA对比端游MOBA,少了一个操作维度——视野控制。
端游MOBA的鼠标操作,可以很方便地在“推一下”画面边缘来调整视野,而手游MOBA只有两个操作维度——左右手两个大拇指,很难再腾出第三个操作维度来控制视野(这点和手游吃鸡也一样,缺少一个“射击”这个操作维度)。
摄像机就是我们的画面,也可以称之为镜头,电影和一些主机单机游戏,对摄像机都有非常巧妙的运用,甚至有专门的镜头导演来处理这方面的工作。
所幸游戏的开发者也进行了一些优秀的设计来解决这个问题,主要是两个方向:1、抬升摄像机。2、摄像机偏移。
《王者荣耀》
一、抬升摄像机
百里守约-2技能
总体来看,摄像机运动分为三个部分:
1、抬升:随着技能范围圈的扩展(射程提高),摄像机同步缓缓拉高,玩家视野变大
2、固定:摄像机高度固定在最高点,不再运动
3、回落:摄像机快速回落,恢复到正常高度
摄像机运动的优化:
为了平滑摄像机的移动,带来舒适的感觉。
1、延后抬升:
通过录屏查看每一帧,我们可以发现,按下技能按钮那一瞬间,技能圈范围的扩散动作就开始了。但是摄像机的抬升动作,并不在按下技能同时进行的,而是持续按住若干时间后(技能圈扩散到一定范围后)才开始抬升动作的。
这样做的好处在于,摄像机抬升动作是一种很打破常规的现象,玩家先接受技能圈扩散,然后摄像机随着技能圈扩散抬升,更容易接受。
另外,更重要的一点就是,玩过守约的玩家都知道,实战情况下,需要使用2技能“贴脸射击”,即和敌人零距离接触的情况下,无需瞄准,快速点击-松开2技能按钮立即释放技能。
如果按下同时就开始了摄像机的抬升,那么玩家在快速点击-松开操作时,无论速度多块,都会经历一下“摄像机快速抬升又马上下落”的“跳闪”的感觉,会造成视觉极度不适。
2、技能圈的扩散和抬升同步
摄像机的抬升幅度,和技能圈扩散的幅度,非常巧妙地同步。如何看出来的?通过抽取录屏的中间几帧,我们可以看到,摄像机的抬升“抵消”了技能圈的扩散,造成了一个错觉:技能圈没有扩散,而是只是摄像机在抬升。
对比上面的截图发现,技能圈范围好像没有变大,但只要看塔的大小就知道,已经拉伸了很多了。
这样的好处在于,可以减少视觉负担,让人感觉“只有一个在变化”。
另外,也发现了一个有趣的现象,在动画的最后几帧,技能圈没有扩大反而缩小了,实际上是技能圈先停止放大,但摄像机依然向上抬升了若干高度。
3、延后回落
实际上,释放完技能或取消技能后,摄像机并不是立即回落的,而是空中停顿若干秒后,才开始回落。
通过看取消技能的录屏,我们可以很明显地观察到这一点:
其实道理很容易理解,高中物理我们学过,把一块石头垂直抛起,石头上升的速度越来越慢,最后像是停在了空中,然后才开始下落。这种更符合我们常识的运动方式,会让我们觉得更加自然。
另外,一些通用的优化方法如减速移动我就不另外介绍了,总之,这个技能无论是视觉效果、代入感等做得都很不错。
沈梦溪3技能
大招和守约类似,我只说不同的地方:
1、沈梦溪3技能的技能摄像机抬升,是在按下技能按钮的同时进行的(啪啪啪打脸),快速点击-松开技能按钮实现的操作不是原地释放而是取消技能释放(纳尼?),为什么这样设计呢?
我的理解是,守约的2技能其实是不需要指定方向的(默认是脸的朝向),而梦溪的3技能是范围打地板的法术技能,需要指定一个释放位置(长按一定时间后会指定为自己脚下)。
另外梦溪的3技能在实战中的定位,很少会需要快速贴脸释放,而是拉长距离发挥其距离和范围优势。
2、摄像机的下落时间的区别。如果技能没有释放出去(仅拉伸摄像机但取消了),摄像机是直接回落的。如果技能释放出去了,摄像机会在空中略微停顿一会(需要查看炸弹轰炸的效果)。
总的来说,王者荣耀最近越来越多出这些手长的英雄和技能,摄像机抬升不是个好办法。摄像机抬升本身会带来战场信息优势(你比别人看的远),摄像机观看的半径每多1码,带来的优势是几何式上升的(因为可视面积增得更大)。
看女娲的技能描述我们就可以知道,抬高视野本身,也是有“技能强度”的因素影响的,但“视野”这个因素不能很好地转化为常规数值(攻血法),这就导致这类技能的平衡性是很难做的(虽然也有人认为这个特性聊胜于无)。
守约的2技能抬高摄像机还好理解,凭什么沈梦溪的技能也能抬高摄像机看这么远?而且一旦认为抬高摄像机对技能强度的平衡有影响,那么势必会削弱其数值(例如伤害等等),具体削多少?只能看不停地试试试了。
一味地抬高摄像机是偷懒的做法,但是,例如干将、墨子,甚至是玄策等,手长技能距离远看不到的问题依然是无法解决,所幸还有其他解决方案。
二、摄像机偏移
这是目前我比较看好的一种方式,但只有几个英雄技能有,分别是吕布的大招、司马懿的大招、女娲的传送。
我们先看一下吕布的大招:
在总的技能范围内,还有一个内圈的概念,大致是我红色虚线划出的区域。
1、当技能指示器的中点(也就是你手指触点投射位置),在内圈内移动时,摄像机不做任何变化。
2、当指示器中点超出红色区域,就进入了另外一个状态,摄像机不再锁定英雄,而是会随着你手指的移动而移动,姑且称之为摄像机偏移状态。且这个状态不可逆,即使把中点再移回内圈,依然会保持这个状态。
摄像机偏移状态下,手指触点和技能指示器的依然保持着映射关系:
如上图,技能按钮的叉叉就是手指的位置,对应游戏内地板上技能指示器的中点位置,技能按钮外的范围(红色虚线圈圈)对应游戏内实际的技能范围圈(大出了屏幕),以这个比例关系,手指可以很轻松地控制技能指示器的位置。
但是,摄像机偏移状态下,摄像机的位置既不绑定英雄身上,也不绑定技能指示器的中点,是在这两个点的中间位置,那么具体是如何确定的呢?
为了搞清楚这一点,我们就还原一下,摄像机是如何从静止到移动的:
1、首先,中点位置在内圈内,摄像机位置和英雄位置重合
2、随着我们继续拖动技能指示器,拉出外圈后,摄像机就开始移动了(为了区别我用了黄色标出)。
看得出,摄像机的移动和技能指示器移动呈比例关系的(因为,只要技能指示器移动一点点,摄像机就会相应移动一点点)
3、由于游戏是采用倾斜视角,为了防止误解,我把这个比例关系进行了简化,大家可以很直观地看明白:
简化成下图:
由于技能指示器从内圈开始走,摄像机才开始跟着走,所以当摄像机走过dist_x距离时,技能指示器走过了dist_y距离,这样就能很清楚地知道两者的比例关系了。
但是,摄像机的移动和技能指示器的移动真的是按比例对应的吗?
我们知道,当启动摄像机偏移后,摄像机和技能指示器中点的起点是不一样的,如下图:
由于技能指示器不能超过技能范围,所以拉到最边缘,技能指示器中点的运动轨迹应该和技能范围圈重合。
那么,摄像机移动的轨迹,就有两种可能性:
1、比例对应
这种对应方式,摄像机的轨迹应该是下图这样:
摄像机以英雄为圆心,画一个正圆,但由于技能指示器左边走的少,右边走的多,和摄像机的移动对应的话,将导致摄像机左边移动的速度慢,右边移动的速度快。
2、数值对应
相当于是,例如:技能指示器移动10个像素,摄像机移动1个像素(由于摄像机是个3D空间的概念,矢量单位不是像素而是码,为了方便理解叫像素),如此,摄像机的运动轨迹应该是下图这样:(像是个鸡蛋)
到底是哪种对应方式呢?我们直接进入游戏试试就知道了。
拿出我的量天尺,计算一下手指移动同样的距离,摄像机在向左或往右两边移动的距离是否一致就可以了。(至于量天尺的用法,可参考我之前写的那篇文章)
具体过程我就不再演示了,验证过之后发现应该是第2种鸡蛋式的运动轨迹。
不过,这样的粗略方法不能做到精确测量,由于游戏视角是一定倾斜角度,必须也要把这个给计算进去。具体过程我也不再赘述了,关键点在于要知道游戏到底倾斜了多少,我提供一个思路,有兴趣的可以自己去试试:
1、先找一个没有摄像机偏移的英雄,将技能摇杆移到0点位置,由于摇杆和技能指示器是一比一对应的,所以技能指示器也应该在英雄上方90°的位置。
2、但实际上位置却微微往右偏了,大家知道这就是由于摄像机倾斜引起的,所以我们再截一张把技能指示器放在英雄上方90°的位置,再比较两张图的夹角,通过计算就可以知道摄像机倾斜了多少了。
这样一来,我们就搞清楚了吕布大招摄像机偏移背后的机制了。总的来说,这种交互方式观感还是很好的,能很好地解决超远距离技能看不到的问题,不用去学难用的三指操作,是一个很好的设计。
如果非要挑毛病的话,就是这个技能没有很好地处理实战中,玩家拉出指示器时“手抖”或不停移动的情况,一旦进入了摄像机偏移状态,摄像机的位置是会随着手指的任意移动而改变,这就像你看新闻直播时摄影师不停抖来抖去一样难受。所幸这个技能使用的摄像机拖动范围很小,技能从按下到释放时间也很短,而且是大招不会频繁释放,所以问题还不太大。
另外,给大家提个小问题,如果这套机制想应用到墨子的2技能上,应该如何处理?给个提示,吕布的大招是范围地板技能,需要指定方向和距离,因为其释放距离不是固定的(可以放脚下可以放最外圈),但墨子的2技能只需要指定方向,其实更简单,但要如何平滑摄像机的移动呢?
可以先想一下,答案其实就在下文《虚荣》游戏的介绍里。
另外介绍一下司马懿大招和女娲传送的摄像机偏移:
1、总体逻辑和吕布的类似,由于技能的总范围略大(约半张地图这样远),所以内圈的范围也比较大,大概画了一下,都超出了屏幕下方位置。
2、当拖出内圈后,摄像机就不再附着于英雄,而是“吸附”在了技能指示器上。观察下图可以发现,拖出外圈的那一瞬间,摄像机就和英雄脱钩,同时和技能指示器挂钩,之后无论指示器如何移动,摄像机始终保持固定的那一段距离:(当然不能移动外屏幕范围外)
总的来说,司马懿大招(女娲传送用的是一样的机制)的摄像机偏移没有吕布大招做得精巧,但相对简单容易理解,并且其技能特性是需要发挥其距离优势(摆远了放),所以这种方式摄像机偏移也够用。
《虚荣》
虚荣是广大手游MOBA开发者除王者荣耀以外又一款借(chao)鉴(xi)对象。采用了独立一套设计逻辑,技术上也比较先进(画面,以及支持120帧率)。
虚荣的游戏摄像机的移动机制更为平滑,对于超长距离的技能也采用了摄像机镜头偏移的机制,这里我就拿一个英雄技能来剖析是如何实现的。
上图是鱼人大招的录屏,看起来和王者荣耀里吕布的大招有点像,但看起来更加平滑舒适,主要是采用一种叫做“平滑插值”方法来实现。
启动摄像机偏移机制后,由于技能指示器的移动确立了摄像机新的位置,但摄像机没有立即移动到目标位置,而是延迟若干毫秒后再移动。
看下面这个录屏更为明显,这就是和王者荣耀的区别。
简单地说“平滑插值”,就是延后响应,让摄像机不是瞬间达到目标位置,而是略微延后,很多单机游戏都采用了这种方式,例如SFC游戏《大金刚》,可以减少摄像机的大幅度移动,减少眩晕感。
个人认为,虚荣的镜头移动体验更佳,并且这种机制对应手指的”抖动“也有良好的效果,由于摄像机总是“慢半拍”,所以过于频繁的移动反而不会引起摄像机的频繁移动。虽然从竞技角度上来说“即刻响应”是需要的,但是摄像机就是玩家的眼睛,我们无法忍受眼前的景物不停地切换、晃动,应该更注重体验感。
根据观察这些游戏后,总结出此类2.5D视角手游MOBA游戏的移动摄像机的一些方法,希望对大家有帮助:
1、不要立马动摄像机
如果某个机制触发了摄像机的移动,不要即可移动,可以使用“缓慢加速”的方式,尽量多提供一些线索、隐喻,让这一个过程不突兀。
另外,需要停住移动中的摄像机时,尽量使用“减速移动”,这种移动方式更符合我们人类的心理认知,感受也更舒适。
2、摄像机能少动就少动
例如吕布的大招摄像机偏移的距离,尽量保持克制,能少移动就少移动。
摄像机的移动速度也尽可能放缓,略微延后一些关系也不大。
3、摄像机移动一定要有过渡,尽量使用平推,不要跳变
什么是平推,什么是跳变?
举个例子,我们玩王者荣耀有两种方法查看地图其他位置的方法,一种是直接点击左上角的小地图,将画面切换到点击的位置,另外一种方法就是右上角拖屏区域可以拖动地图至想要查看的区域。第一种就是跳变,第二张就是平推。
就像现在UI界面的过渡都需要有穿插动效一样,镜头的移动,最好是能够平滑过渡,就像我们看电影,导演需要将画面跳转,也是采用镜头平移,同一个场景下,从当前的视野,平移到另外一个视野。
MOBA从PC的辉煌延续到了手游,当时很多人唱衰手机上的MOBA,主要还是操作上的问题,手机上无法实现鼠标的快速精确定位。
大厂们进行了各种尝试优化手机版MOBA,有触摸点击型(虚荣),有双摇杆型、单摇杆型,最终单摇杆+技能副摇杆结合的王者荣耀一统江湖,现在很少有人说王者手感不好的,它的很多设定都成了现在MOBA游戏的标杆。
这里,我们就一步步地分解看看,王者的操作手感是如何设计的。
1、基本操作
我们从最简单的开始,一个单位的基础动作,无非就是以下两个:
王者(或是其他MOBA)严格遵循魔兽时代留下的规则:移动中,无法执行攻击动作;需要进行攻击,必须停下来,而且目标单位必须在其攻击范围内才会出手。暴雪系的即时战略游戏相当严谨地执行了这套规则。
这点区别与孤胆枪手、奇幻射击等可以同时移动+射击的双摇杆射击游戏。
继续延伸开,我们会发现,MOBA类游戏里,执行攻击动作前,必须先锁定一个目标。
魔兽争霸内所有的单位都只能进行单体攻击,“溅射”、“分裂”被当成技能而存在。我们习惯“右键点击”需要攻击的目标,敌人脚下的“圈圈”就是锁定标志。
MOBA游戏脱胎于即时战略,“先锁定、后攻击”的特效被传承。可能有人觉得这很简单,但实际上后面的一系列攻击目标的判断,都是依托于这个框架进行展开的。
2、攻击范围
农药很贴心地把每个英雄的攻击范围标记了出来:
套入到之前的逻辑内, 那么攻击的判断流程如下:
大家看上图可能会有点蒙,啥叫“向前走几步”,具体是走几步?
如果敌人不在攻击范围内,你点了攻击键就傻站着不动了,其实明明敌人的位置也不远,向前走两步就能打到。
所以虽然你没有按移动键,系统也会“帮”你向前走几步,再执行后面的操作,这就引入了下面的这个概念。
3、警戒范围
我们先来看下图:
虽然木头人不在攻击范围内,但赵云也老远就锁定了它,向其发起了冲锋。
再看下图:
一定距离之外,赵云就不再锁定目标,原地玩起了耍花枪。
所以,英雄除了攻击范围之外,还有一个警戒范围,它才是判定是否要追击目标的依据标准。
警戒范围不可见,但确实存在,而且远程和近战是一样的(目测)。
照这样看,远程英雄需要跑动的范围小很多。
4、多目标选择
当然了,攻击范围内不仅仅只有一个敌人,就需要进行多目标的选择。
农药通过自定义设置来决定优先级:
这样就基本上可以解决优先级排列的问题了。此外还有一些极端情况,例如血量一样,位置也一样的情况如何判断?可以随机选择一个目标,或是其他处理方式,这样情况出现极少,这里我就不再继续展开。
由于多目标选择的锁定逻辑比较多,直接置入流程图内会比较庞大难以阅读,所以我把这部分模块单独拿出来,希望能理解:
这部分模块就可以单独处理了:
我们可以看到,两种偏好都是以“血少、最近”为原则,只是依次先后判断的区别。
针对自己英雄的特点或喜好进行选择(远程为了拉开距离减少位移,可能选择最近单位;近战或刺客为了集火点杀可能选择血少)。
5、特殊攻击按钮
虽然有了警戒范围、锁定优先级等设置,但还是有很多应用场景无法满足。
我们用“自由攻击模式(推荐)”的操作方式,经常会出现想去打敌方英雄,却在砍小兵的情况,更加致命的是,技能的释放也是同步攻击的目标的,所以会出现大招打在小兵身上的“惨剧”。
由于手机点击无法实现PC鼠标“指哪点哪”的精确定位,天美在这方面可谓是下了很大功夫,于是“自由攻击模式(进阶)”的操作方式出炉了:
这种操作方式说明看似简单,加入了两个单独的特殊攻击按钮(补刀、推塔),实际上,连普攻按钮的逻辑也发生了改变。
在这之前的操作方式,小兵和英雄视为等同(敌人),而功能键的加入,让其各司其职,以应对不同场景的需求(对线、团战)。
按钮有了针对敌人类型的优先级,分别如下:
普攻:英雄>塔>小兵
补刀:小兵>塔>英雄
推塔:塔>小兵>英雄
那么,“多目标选择锁定”模块相应进行修改:
相当于在原有的机制之上,再套加一层筛选,如果筛选目标唯一,则确定锁定目标。不唯一,就继续下层筛选。
6、特殊锁定按钮
前面几种设定的攻击按钮,实际上是把“锁定”、“攻击”两个绑定在一起,而这种操作模式,则单独将“锁定”功能剥离开来:
点击“小兵”、“英雄”按钮,自己的英雄不会进行任何移动或攻击动作,重复点击根据优先级,在范围内不断切换锁定目标。判断逻辑和第二种基本类似,这里就不再赘述。
锁定功能遵循,有“锁一直锁“”的原则,如果不进行特殊方式切换锁定的目标,则一直保持锁定状态。
那要如何解除锁定呢,目标死亡,消失(隐身或入草丛)或是跑远了,脱离锁定范围,就解除锁定。脱离锁定的范围比警戒范围略大,几乎都要出屏了。(也就是说,脱离锁定的范围>进入锁定的范围)
另外,王者的锁敌头像功能可谓是相当高级,看起来很变扭,实际是非常好用的,可以说,天美可真的是用尽了各种办法,最大限度地还原了鼠标操作的需求,赞一个!
另外,还有自动攻击,不仅仅是对单个目标的持续攻击,并且在目标死亡或消失后,可以自动攻击警戒范围内其他目标,可谓是非常用心。
今天这里介绍完了王者荣耀的普通攻击逻辑,仅仅普攻就有这么多小心机设定。如今大热的各类吃鸡手游,虽然各种操作不便,但依然对其有信心,因为大家相信,只要有设计师的精心设计和持续的版本迭代,就没有满足不了的需求。