时间:2023-12-22 10:21:27来源:互联网
文丨希儿_世界第一可爱@bigfun社区
导语本贴主要讲解公主连结先后手的机制。
温馨提示:本贴需要不少前置知识,在阅读前请务必阅读笔者关于站位机制那块内容,往期链接在文末。
总的来说,公主连结的先后手机制就是先停先动。
目录战斗流程先后手机制位置更新机制底色橙色文字的解析判定距离等效思想非镜像阵容抢得先机实例计算1:妹弓vs妹弓实例计算2:妹弓vs小仓唯一、双方各角色,从对应的初始位置,以固定移速,开始入场;
二、攻击距离接触到敌方角色的受击宽度,该角色停止移动;
三、停止移动的角色做完拔剑的准备动作,进入设定好的技能起手;
四、进入技能循环;
五、敌方角色阵亡,攻击距离没有接触到敌方角色的受击宽度,该角色继续移动;
六、重复二,四,五,直到一方全灭,倒计时为0或者进攻方放弃。
从战斗流程的第二步不难看出,公主连结先后手的机制是先停先动制。
谁的攻击距离先接触到敌方角色的受击宽度,该角色就先停止移动,先做完准备动作,先进入技能起手和循环。
如果不考虑受击回复和面板,技能等带来的tp值误差,在没有控制等特殊情况下,必然是先停的一方先ub。
注记:这个等特殊情况,在之后会详细解释。
既然是先停先动,那么就不得不提到位置更新机制。
位置更新机制第一步,将所有角色放在序列A中,进攻方在防守方之前。
第二步,进行逻辑上的判断
按顺序逐个选取序列A中的角色A[i],执行如下操作:
如果A[i]的攻击范围内没有敌军(距离=攻击距离 受击宽度依然判定没有)
A[i]的位置=A[i]原来的位置 移速*一个逻辑帧
如果A[i]的攻击范围内有敌军
A[i]判定停下,跳出循环,进入另一个攻击的序列。
第三步,按照新的序列A,渲染动画
第四步,重复第二步和第三步,直到所有角色全部停下。
相信大家也注意到了底色橙色的文字
这也是导致镜像阵容先后手差异和进攻方打不到而防守方却打的到的罪魁祸首。
没错这就是很多人一直困惑的,为什么有时候进攻方妹弓先ub,有时候防守方妹弓先ub以及为什么妹弓作为进攻方打不到xcw,而作为防守方却打得到xcw。本贴会为大家详细解答。
首先,由于序列中,进攻方在防守方之前,所以所有情况都是进攻方先。即,进攻方先做位置判定,进攻方先更新位置,同时满tp进攻方先ub。
其次,A[i]攻击范围内是否有敌军这个判定。因为是在循环中,当A[1]做完判定,更新完位置,A[2]做判定时,如果要考虑A[1]的影响,以A[1]更新后的位置为准。后续A[3],A[4]等同理。
所以部分情况下,当进攻方判定移动,更新完位置;防守方以进攻方更新完的位置做判定时,距离够了判定了停止,开始攻击。导致了防守方比进攻方快了一帧。
如果距离仍然不够,防守方依然判定移动,而防守方移动完距离就够了。那么在下一次循环中,进攻方和防守方都判定停止,双方完全同步。
然后就是关于之前卖关子的“等特殊情况”
笔者在帖子[进阶硬核]公主连结游戏机制之普攻和技能机制中有提到自动的机制,即Ai不会打断技能,释放ub需要等到攻击间隔。
所以在某些情况下, 虽然防守方先一帧,先满tp,但是不一定导致先开大
最典型的例子就是:圣千,妹弓,水电,黄骑,羊驼。进攻方妹弓先ub。
根据实战,水电防守方先一帧,而妹弓双方完全同步。
因为水电是防守方先一帧,充电比进攻方快,所以防守方妹弓肯定是比进攻方的妹弓先一帧满tp。但是由于此时妹弓处于攻击动作中,想要释放ub必须等到攻击间隔。而等到攻击间隔,进攻方的水电也已经充好电了。所以这个情况等同于双方妹弓同时满tp,因为完全同步,所以进攻方先ub。
当然,合理推测,如果未来能出一个正好在妹弓攻击间隔给妹弓充满电的充电角色,且站位可以保证防守方先一帧,那么同步的妹弓就反而会是防守方先大。
接下来我们考虑非镜像阵容
为了判断角色谁先停下来,谁后停下来,我们设置一个值,名为判定距离。
方便起见,双方角色的判定距离均以双方各自的一号位为参考点。
判定距离=攻击距离-与己方一号位之间的初始距离差
注记:如果一号位是羊驼,那么判定距离以二号位为参考点
由示意图不难看出,判定距离越大,该角色越先接触到敌方一号位,就越先停。
示意图
实例:
己方角色:镜子(805),大眼(760),初音(755),空花(130),布丁(125)
判定距离:镜子[5],大眼[160],初音[355],空花[-70],布丁[125]
敌方角色:狐狸(795),妹弓(700),深月(565),黄骑(405),黑骑(135)
判定距离:狐狸[-5],妹弓[100],深月[165],黄骑[205],黑骑[135]
于是可以得到停的先后顺序为:
初音-黄骑-深月-大眼-黑骑-布丁-妹弓-镜子-狐狸-空花
因为机制相同,为了方便表述,下面不考虑带羊驼的情况,大家可以自行类比。
因为双方移速相同,所以攻击距离最先接触到的肯定是敌方的一号位。所以角色就可以分为两类,一类比敌方一号位先停,一类比敌方一号位后停。
比敌方一号位先停比敌方一号位先停,也就是该角色与敌方一号位做相向运动。
经历时间=(初始距离差-该角色攻击距离-受击宽度)/(移速*2)
考虑更新位置的先后,计算位置。
比敌方一号位后停比敌方一号位后停,可以简单地看成以敌方一号位停下位置为基准点的单向运动。
时间=(|该角色初始位置-敌方一号位停下位置|-该角色攻击距离-受击宽度)/移速
取整后,计算位置。
注记:上述等效思想中,第一种情况计算所得的时间是实际经历的时间,而第二种计算所得的时间不是实际经历的时间,注意区分。上述思想只是为了简化,方便计算。
非镜像阵容抢夺先机思路1,让判定距离变大要想抢得先机,可以让判定距离变大,根据判定距离的公式(方便起见,不考虑羊驼)
判定距离=攻击距离-与己方一号位之间的初始距离差
想要判定距离变大,要么加大攻击距离,要么缩小与己方一号位之间的初始距离差。
国服目前最极端的例子就是把小仓唯丢一号位,
我不信你能比我快。
比较平常的思路,就是尽可能往前挪。例如正常阵容的四号位妹弓,当我们把一号位换成羊驼,妹弓的判定距离就小了200,更先停了。
思路2,让对方走的路更长根据等效思想,敌方比我方一号位后停的角色均以我方一号位为基准。
所以只要我方一号位停的早,敌方走的路就更多。
让我方一号位停的早就是思路1,增加判定距离,也就是增加一号位的攻击距离。
例如一号位放黄骑,由于黄骑攻击距离远,可以帮助我方角色停的比敌方早,从而掌握先手。
这边就必须提到羊驼这个角色了。
因为一号位放黄骑之类的,由于身板脆特别容易被秒。所以考虑一号位羊驼,二号位黄骑之类的思路,由于羊驼后手入场,既保证了敌方以我方黄骑为基准,我方比敌方停的早,并且后手冲锋到最前,代替原来站位最靠前的黄骑承担伤害。
先停的优势其实一般的先停并没有太大的优势,只有比敌方一号位先停,优势才会明显。
因为当你比敌方一号位先停,敌方一号位会在你停下之后继续往前走。你与敌方的距离就会更近,使得原本打不到后排的技能可以打到后排。
实例计算之妹弓vs妹弓先列一下需要用的数据
初始双方一号位坐标-760,560,相距1320。
双方角色初始位置两两相距200。
移速12/帧,受击宽度100。
一,圣千,妹弓,水电,黄骑,羊驼初始双方黄骑坐标-960,760,相距1720
黄骑经历时间=(1720-405-100)/(12*2)=50.625帧
第50帧,黄骑坐标分别为-360,160,相距520
第51帧,进攻方黄骑先更新位置,变为-348,此时相距508>405 100
防守方黄骑判定移动,坐标变为148,此时相距496<405 100
第52帧,进攻方黄骑判定停下,防守方黄骑判定停下。
双方黄骑完全同步。以敌方黄骑为基准的妹弓也完全同步,进攻方先ub。
圣千,妹弓,水电,黄骑,春妈初始双方春妈的位置,-760,560,相距1320
春妈经历的时间=(1320-159-100)/(12*2)=44.21帧
第44帧,春妈坐标分别为-232,32,相距264
第45帧,进攻方春妈更新位置,变为220,相距252<159 100
防守方春妈判定停下
第46帧,进攻方春妈判定停下
然后你会发现防守方春妈先一帧,以敌方春妈为基准的妹弓,防守方也比进攻方先一帧。所以防守方妹弓先ub。
注记:阵容一中水电理论上应该也是同步的,但是实战却是防守方先一帧,暂不明什么原因,等一个大佬解答。
这边考虑xcw队的T为望,其他T情形类同,这边不再重复计算。
初始黄骑与望相距1320 200=1520
黄骑先停,经历时间=(1520-405-100)/(12*2)=42.29
第42帧,黄骑和望相距1520-42*24=512
如果妹弓作为进攻方
第43帧,黄骑更新位置,相距500<405 100
第44帧,黄骑判定停下
如果妹弓作为防守方
第43帧,望更新位置,相距500<405 100,防守方黄骑判定停下
从计算不难看出,防守时的黄骑比进攻时的黄骑早停了一帧,导致黄骑跟妹弓的距离更近,于是妹弓离敌方小仓唯更近。所以妹弓作为防守方可以打到妹弓,而作为进攻方却打不到。