【多图】【数学】不要以为弹速快一定好!定量分析子弹速度对散射塔输出的影响

修改于2020/02/192587 浏览攻略交流
大家好,我是TheLostWisdom,萌新,只会打4.7。
众所周知,4.7有很多子弹速度和旋转速度砖块,而且它们都有很好的散射输出环境。我在把散射放在子弹速度瓷砖上面的时候,注意到散射的攻击形态很像发射几条旋转的“激光”,扫到小怪就打一次伤害,让我觉得输出很低。因此,决定推算一下子弹速度与输出的关系。
首先,不想看推导过程的朋友们直接看这3句话结论:
散射的输出随着子弹速度的增加而递减。
对于快速敌人(例如喷射),弹速对输出的影响幅度较大。
根据情况不同,满弹速和低弹速的输出差距在10%~40%之间浮动。
以及以下一分钟测试:
两个同样等级(8)、同样经验(10)、同样天赋(攻速+穿透)的散射塔,放在同样的地形,攻击两个完全相同的85%难度出怪口产生的怪。其中一个散射获得300%子弹速度加成,另一个利用7个采矿芯片将子弹速度减少至65%。容易看出,在经过的50多个怪中,低弹速散射消灭了所有的怪,而高弹速散射明显漏过了1/5左右。这显然不能用“偶然”来解释,有同样条件的朋友也可以自己测试。
下面开始(近似)理论推算。
首先,定义一个“子弹链”为散射塔发出的一串接近处于同一射线上的数个子弹形成的连线。
例如下图中数条蓝线连接的2~3颗子弹。(子弹位置以橙色点标注)
TapTap
由于散射的子弹数量并不是整数,子弹链的数量可能不同于面板上的“子弹数量”,而子弹链中两颗子弹的间隔频率也可能不等于“攻击速度”。但是容易看出,每一条子弹链上面的子弹之间的间隔都是相等的,而每两条相邻的子弹链之间的夹角也是近似相同的。而且,不同于散射塔本身,子弹链不会旋转。本质上是散射每次旋转到这个角度,都会发射一颗子弹。在上图中,大约存在42条子弹链。
因为每一条子弹链都是完全相同的,因此分析一个小怪经过一段固定的路程,收到的平均散射伤害就等于它经过的子弹链数量×子弹伤害×经过一条子弹链时平均会接触到的子弹数量。而前两项是固定的数值,因此只需要计算经过一条子弹链时平均会接触到的子弹数量N即可估计散射的总输出。
注:由于小怪自身具有宽度,可能会大于子弹链的间隔,导致一个怪同一时间处于两条子弹链上。但是由于子弹链的独立性,同时通过两个子弹链和通过两个分开的子弹链是没有本质区别的。
先定义如下数据:
子弹速度v1(格/秒)
小怪速度v2(格/秒)
小怪的长宽a(格)
子弹本身的长度L(格)(注:把子弹看做小线段。若子弹有宽度,加在小怪长度上面即可,不影响计算结果)
如图:
TapTap
以及
同一子弹链上两颗子弹发射间隔t(秒)
为了计算简便,讨论小怪移动方向与怪塔连线垂直的情况。
如图:
TapTap
建立坐标系,小怪方向为x轴,子弹方向为y轴。如图。
TapTap
在0时刻,小怪的右下角正好处于原点,而0号子弹恰好错过(没有击中)这个小怪。容易看出,子弹的上沿(箭头)的最低高度为a+L,最高高度是a+L+v1t(如果高于这个值,下一颗子弹就也错过了)。由于游戏的后期,小怪数量和密度都极大,因此可以认为0号子弹在0时刻位于 ( a+L,a+L+v1t ] 的概率是相等的。
下面我们开动这个小怪,让它恰好通过这一条子弹链,耗时a/v2秒。此时,0号子弹已经飞出了av1/v2的距离,它现在处于 ( a+L+av1/v2,a+L+av1/v2+v1t ] 的区间之中。在此时刻之后,由于怪已经离开了y轴,这一条子弹链上面所有的子弹都不再有可能击中这个怪。
TapTap
此时,我们讨论最后一颗“可能击中这个小怪”的子弹,图中用紫色圈标识。
TapTap
由于子弹的间距都是v1t,可以知道,k号子弹的位置应该处于 ( a+L+av1/v2-kv1t,a+L+av1/v2-(k-1)v1t ] 之间。我们取k为最大的、使得这个区间包含0的整数,则k号子弹就是最后一颗有概率击中这个怪的子弹。在它之前的子弹都必然已经击中,而在它之后的子弹还没有且不再可能碰到这个小怪了。
之前说过,0号子弹处于 ( a+L+av1/v2,a+L+av1/v2+v1t ] 中间任一点的概率都是相等的,因此k号子弹位于 (a+L+av1/v2-kv1t,a+L+av1/v2-(k-t)v1t ] 之间任一点的概率也是相等的。而当k号子弹的坐标值大于0的时候,它就击中了,否则就没有。因此,k号子弹击中的概率等于
(a+L+av1/v2-(k-1)v1t)/(v1t)
=(a+L+av1/v2)/v1t - k + 1
=1/t ( (a+L)/v1 + a/v2 ) - k + 1
同时,还有k-1颗子弹击中了,因此,击中子弹数量的期望等于
N=1/t ( (a+L)/v1 + a/v2 )
仔细观察这个式子,可以看出
①打中的子弹数量与攻击间隔成反比——就是和攻速成正比。在任何攻速下,只要其他条件不变,子弹速度对输出的影响就是相同的。
②括号中的(a+L)/v1项,与子弹速度成反比。子弹速度越快,这一项越小。
③a/v2项是常数,与怪的状态相关,不收到散射属性的影响。当这一项比较小——也就是a小或者v2大——的时候,常数小,子弹速度的影响就大。
进行几次简单的代入
a=0.4,L=0.1,v2=1(比较普通的小怪)
v1=3(普通的散射弹速):N=0.57
v1=16(弹速上限):N=0.43
输出减少24%
v2=2(快速)
v1=3:N=0.37
v1=16:N=0.23
输出减少37%
v2=0.3(减速)
v1=3:N=1.50
v1=16:N=1.36
输出减少9%
当小怪的移动方向与子弹方向不是垂直的情况下,公式的结果会随着角度的变大产生一定的误差。当角度变为0°时,弹速的影响就会被基本抵消(此时与方向相关,子弹与小怪同向运动时,子弹越快输出越高;子弹与小怪反向运动时,子弹越慢输出越高。依然可以数学推导,这里不做赘述)。不过,大家应该不会把散射放在下图打叉这种地方。
TapTap
所以也很少会产生散射攻击方向和小怪移动方向平行的问题。另外,除非老家就在散射边上,否则有来必有去,在小怪靠近和远离散射的两个过程中,相反的影响相互抵消了;而小怪只要存在切向运动,就会有本文所述的输出衰减。因此,散射的子弹速度一定是对输出有副作用的。大家在摆散射的时候,一定不要放在300%子弹速度这种瓷砖上面;同时也要注意到,不同于其他炮台,125%功率瓷砖对散射的影响并非全是正面效果。
42
5
9