欢迎光临散文网 会员登陆 & 注册

战列炮击与航母空袭逐帧全解(上)

2017-11-26 16:45 作者:叫我雷文志就好  | 我要投稿

〇、前言:

        多图多GIF流量预警,请谨慎点开。


        各位舰A的玩家们,大家好,我是“炮击读条”的发现者mydian,大家也可以叫我“灰尘”。

        这篇攻略主要放出一些有关时间部分的结论,以及自己得出的一些有关实际运用的理解,不一定全对,也只是做个引子。

        有些过于基础的知识,这里没有科普全,如果发现有什么盲点,可以去WIKI或者NGA搜索相关词条。


        探究过程繁琐,时间不充裕的朋友可以只看前面有小圆点标注的部分,结论性的东西基本都包含在那里面。毕竟,任何游戏探究行为的根本目的,正是在于能否得出实用的结论,而过程本身的意义,则更多的是留给作者自己的。


一、准备工作

        在探究过程开始前,需要先掌握一下关于“图片证据”的解读方法:

图片阅读方法

        由于探究方法是纯物理的录屏,然后用AE做简单的逐帧播放,所以这里标出窗口内最重要的信息位置。

当前画面所处时间点:视窗内显示的画面在整段视频中所在的时间点

比如:图中“8:24”的意义就是,视窗中显示的画面为视频中第8秒又24帧时的画面。

初始时间:自定义截取的视频片段的起始时间

如果点空格的话,视频就会从我们定的这个时间开始,而不会从0开始。

结束时间:自定义截取的视频片段的结束时间。

片段时长:由起始时间到结束时间,这一整个片段的时间长度。
比如:图中的“19:07”的意义是,从8:24开始到28:00结束,这一段的时间长度为19秒又7帧。

关于帧对应秒的换算:
        舰A是一款30帧的游戏,它的意义指的是在1秒内,屏幕会显示并变换30张不同的图片,这些不同的图片快速的切换,人眼反应不过来,就形成了“动画”的感觉。
        这里的每一张图片就被称为帧,帧和秒其实是不同单位的东西,它们是没办法换算,但我们却能够把帧和时间点对应起来。即:帧可以对应一张图片显示多久的时间,而我在上面提到的“帧”正是这样定义后才产生的东西。

        帧代表的是一张图片,而“帧”则代表了一段时间长度,而正是为了写起来方便,整篇攻略中的“帧”才没有带引号。

        对于30帧的舰A来说,每秒钟要换30张不同的图片,那么游戏中的1帧就意味着:一张图片要显示1/30=0.033s。

        所以图中的“8:24”又可以被写作:(8+24/30)s=8.8s


        掌握了图片的解读方法,就可以开始我们的探究了。


二、空袭础论

1、装填过程:
        载入画面下方进入战场后,右下角的空袭按钮外圈由零转到满的这个过程被称作装填过程。

空袭CD公式:
        空袭CD=(舰载机1CD*舰载机1数量+舰载机2CD*舰载机2数量+舰载机3CD*舰载机3数量)*2.18/舰载机总数量+0.25(补正)

        这里的舰载机CD均是装备在舰娘身上的时候,装备面板上显示的舰载机射速。公式来源:碧蓝WIKI

        后面的大部分公式均可以在NGA和WIKI上找到,所以想用数据的角度去看待游戏的朋友请一定要善用这两个地方的精品内容。

        实际应用一下这个公式,如图:

通常企业装备面板

        企业的突破为:战斗机+1、轰炸机+1、全舰载+1

        所以她的舰载机配置为:3战斗机、3轰炸机、2鱼雷机

        那么她的空袭CD=(10.42*3+11.19*3+9.86*2)*2.18/8+0.25=23.289875s

        0.289875s*30帧/s=8.69625帧

        存在小数显然是不可能的,因为没有显示0.69个画面这种说法,所以这个帧数需要取整。
        而这里在取整数时,存在一个取整方式的选择问题,备选的取整方式有:
        向上取整:0.289875s*30帧/s≈9帧
        四舍五入:0.289875s*30帧/s≈9帧
        向下取整:0.289875s*30帧/s≈8帧
        正确的帧数应该包含在这三个结果中,等会儿需要一一验证。
        所以通过公式得到的企业的空袭CD=23秒又8~9帧作为一个几经验证的东西,这个公式还是有一定准度。

        在理论算出可能帧数后,我们就可以通过录屏逐帧的方式验证这个公式的准确度了:

        首先,察看该视频的帧率,确认是否丢帧,如果出现丢帧,那么帧与时间的转化比例就需要做相应的调整:

帧速率(fps)

        确定帧率正确后 ,我们需要找到“CD开始计算”的那一帧画面。

        关于这个“CD开始计算”其实并不是大部分人想象中的战斗场景刚出现的这个时刻。不知道大家有没有发现,载入画面下方的读条在结束后,画面会由亮变暗一点,这个时候其实就是在加载战斗场景中的所有东西。

        下面是录到的还在加载状态的战斗场景,将每一帧放慢几倍之后来看:

加载状态

        而真正的空袭CD和炮击CD开始计算,其实是在有关射速部分加载完成后的下一个时刻就开始计算了,即这一帧动画:

开始计算

       可以看到鱼雷已经加载好了,其他CD自然也已经开始计算了。

        手机由于处理能力的原因,这个时刻的画面在更多的时候是没有切换到战斗场景中去的,而是滞留在载入界面上。
        因此,我们需要找的那一帧“CD开始计算”的画面,其实更多的应该是在“战斗场景”这一帧画面出现前的那一帧或几帧“载入画面”。

  • 即:空袭CD和炮击CD的开始计算,大多数时候是从载入界面快结束时就已经开始了的,而非战斗场景显示出来后才开始的。

搞清楚CD开始计算的时刻后,我们这一次就真的要开始找画面了:

上一帧载入画面

找到后将这一帧置为“开始时间”:

置为“开始时间”

然后就该找企业装填结束并开始释放空袭的那一帧:

装填结束

将该时刻置为“结束时间”:

置为“结束时间”

由此,我们可以获得“CD开始计算”这个画面到“装填结束”这个换面的“片段时长”:

“片段时长”

        23秒又5帧,与我们计算得出的23秒又8-9帧相差无几,3帧的误差可能来源于“CD开始计算”的画面没有取对,所以将开始时间向前推进3帧,看看出现的画面是否合理:

修正后的开始画面

显然,画面合理,将其置为开始时间:

最终结果

        可以看到CD公式还是有相当的准确性的,至少这几帧的误差我个人认为拿来用是没有任何问题的。

        后面所有的逐帧“最终结果”的获取过程都与此类似,但不会再详细列举出来解读了,这里之所以把过程写出来,是为了增加一个可信度,当然这也会让攻略读起来很托节奏,还望见谅。


2、投掷前摇:
        在装填结束后,大部分舰娘会轻微的后倾,并投掷出一沓重叠在一起舰载机

  • 这段时间很短的前摇一般为:0.033-0.066s(1-2帧)

        部分舰娘这个前摇很短,比如婚纱赤城,还有的会略长一点,但考虑到时间非常短,所以一般将其忽略不计。

大家能看出赤城的投掷前摇有多长吗?


3、舰载机巡航:

        舰载机在出现后会以各自特定的航速向敌方飞行,具体舰载机巡航速度可以到NGA寻找,搜索“舰炮/鱼雷/飞机/防空,性能数据一览”即可找到相关帖子。


三、炮击础论

1、装填过程:

当没有技能加成时:

装填过程时长=主炮装备在舰娘身上时显示的射速。

当有技能加成时:

装填过程时长=主炮面板射速(仓库中)×√{200/[10+(装填白值+装备绿值)×(1+技能1+技能2)]}

同样的小小验证一下:

从上到下顺序,装备在仓库内的射速、厌战装填值、装备在身上的射速

        所以根据公式,装填过程时长=18.38×√200/(100+142),如图:

计算结果

        可见,公式的准确度还是很不错的。

        由于战列炮击在推图时会有时停以及环境速度减慢效果的加入,而演习则不存在时停和环境变速的存在,所以开炮时的具体过程要进行分类讨论,相对来说情况也更为复杂,需要借助工具逐帧才能得到稍微靠谱一点的答案,因此炮击的基础部分就只讲这么一个装填过程。


四、炮击与空袭的逐帧全解

、演习部分:

空袭:

  • 在演习中,大部分常用舰载机从出射到巡航至中场的时间大约为:2.133s

        将模拟器分辨率的宽高比改为4:1以上,即可在演习中看到更“宽”的战场,利用赤城第一次空袭远快于其他航母的特性,减少其他航母的空袭对观测结果的影响,录制一场实战,并借助AE对视频进行分析:

赤城的装备

检查视频的帧率是否为30帧:

视频的帧速率

可知,在28.487的帧率下,每一帧对应的时间长度为:1/28.487≈0.0351s

找到赤城刚释放空袭的时刻,并将该时刻定为初始时间
再找到舰载机群大致飞到中场的时刻

打开AE的标尺和网格,对敌我双方的位置进行更精确的标注:

我方赤城的位置

        看到标尺上的第一段,总长为65格像素,它被分为6个大格+1个小格,而绿色小方格的边长=2大格=4小格,因此我们可以得出:

        标尺上的一小格为5像素,一大格为10像素,绿色小方格的边长为20像素:

我方赤城的横坐标:20像素
敌方三人的横坐标:1822像素

所以,舰载机群大致飞到中场的横坐标应为(1822-20)/2=901像素:

找到舰载机群飞到对应位置时的那一帧,定为结束时间

        可以读取到片段时长为:2秒又4帧

        结合原来得到的28.487帧率下每一帧对应的时间长度,片段时长为:2.14s

        但这个时间长度并不是30帧的视频中录到的,它理应被还原到原本为30帧游戏中去,则有:0.14*30帧+2s=2秒又4.2帧,即:在30帧的视频中,我们录到的这一副画面,其实是2s又4帧播放了五分之一时长后的才录到的。

        因此这一帧动画在帧率30的视频中,应该对应着“2秒又4帧”的那一帧动画,而在30帧的帧率下,2秒又4帧约等于2.13s,即有结论:

  • 在演习中,大部分常用舰载机从出射到巡航至中场的时间大约为:2.133s

同样的方式,可以得到敌方舰载机群飞到先锋战斗位置的时间为:

  • 在演习中,敌方舰载机从出射到巡航至先锋战斗位置的时间大约为:2.4s


战列炮击:

1、出膛演出:

       向上承接装填过程,当战列炮击装填结束时,右下角炮击图标外侧的黄圈会转满,提示可以进行炮击。释放后角色身上会出现“老游戏里放大招才会有的白光”,以示该角色开始进行炮击,与此同时,第二轮炮击的装填也已经开始了。

注意看胡德脸上的白色光点

        开始炮击后,从屏幕的右侧会逐渐向左淡入对应角色的立绘,直至第一枚炮弹刚刚出膛的时间,这整个过程被称为“出膛演出“。

        “出膛演出”的界定方法:右下角的炮击按钮上的次数由1/1变0/1,外圈的黄槽完全消退,与此同时该轮炮击的第一枚炮弹才刚刚出膛:

演出结束

        可以从图片中读取得到“出膛演出”的片段时长——1秒又4帧,约1.133s。

        很明显,这个片段的长度会受到开炮动画长度的影响,如果一艘船开炮前摇短,那么自然它在演习中的立绘插入时长就短,反之开炮前摇越长,演出时间就越长,但经实测大多数战列的主炮开炮前摇都相仿。

        也有例外的情况。如果在出膛演出时,发生了副炮开火,或者副炮开火的过程中,战列进行了主炮开炮,那么出膛演出的时间就会出现大幅的缩减:

可以看到此时的胡德在副炮开火时进行了主炮炮击
找到出膛演出结束的时刻,将其定为结束时间

        同样的胡德,同样的泳装皮肤,但这一次读取到的片段时长却只有17帧。

综上所述,有结论如下:

  • 出膛演出:从装填结束到第一枚炮弹刚刚出膛的时间

  • 演出时长:1.1s左右

  • 出膛演出可被副炮开火动画扰动,扰动后的出膛演出时长约为:0.567s-0.733s

    即缩短到原本时长的二分之一到三分之二。


2、炮击读条:

        仅当队伍中存在多艘战列,且两艘战列主炮射速过于相近时,才会发生的情况。

        在第一艘战列发出炮击的出膛演出结束后,如果有其他战列已经完成装填,那么她还需等待右下角的战列炮击按钮外圈的黄色读条区域快速填充一圈后才能开炮,验证实验如下:

        为装填值相同的厌战与南达科塔装备完全相同的主炮,射速自然也相同:

射速相同

        如果“炮击读条”不存在,那么她们理应同时开炮,但:

实战效果

        炮击读条是否客观存在,想必各位心里也已经有了自己的答案了吧。

        但在这里,我们的目标并不仅仅是证明炮击读条的存在,而且还要求出它究竟有多长时间:


找到厌战出膛演出结束的那一帧动画,将其定为初始时间
再找到南胖刚开始开炮的那一帧动画,将其定为结束时间

        读出片段时长为——1秒又4帧,即1.133s,因此结论如下:

  • 炮击读条:在第一艘战列的出膛演出结束后,如果有其他战列已经完成装填,那么她还需等待右下角炮击按钮的外圈,黄色读条区域快速填充一圈后才能开炮,而这个快速填充一圈的过程就是炮击读条。

  • 炮击读条时长:1.1s左右

        所以,我们原来熟知的“不把两艘战列的开炮时间调来大于2s就会卡炮”,其实是出膛演出炮击读条两者共同作用的结果。


        而通过刚得到的这两个结论,我们可以算出更为精确的装填间隔,来最大化时间利用效率:

  • 无副炮扰动的情况下,装填间隔应大于2.2s,

  • 有副炮扰动的情况下,装填间隔应大于1.833s

  • 综合两种情况,求得比较适宜的装填间隔为:2s


        哈哈哈哈……天道不测,造化弄人,到头来只是兜了个圈子又跑了回来。不过,由于防守基本不可能有副炮扰动,所以我们可以把防守的炮队调为2.2s的装填间隔,但这样做相比原来的调速来说,提升实在是太小了,没有多大的必要。

        为了防止再发生误导,姑且提一下吧,以上的调速仅适用于演习情况,因为演习的趋势是两轮炮击定胜负,所以前两轮炮击的时间快慢非常容易影响胜负。

        而随着炮击轮次的增加,这种调速将无法继续维持下去,调最小炮击间隔的意义也就没有多大了,这里对应的自然是推图情况,所以推图就没有必要调最小炮击间隔了,而是该看重单轮伤害是否足够清掉关键敌人。

        在推图时盲目追求开炮速度往往容易造成积怪,徒劳的增加前排压力而已。


3、弹道飞行:

        在“出膛演出”结束后,战列主炮射击的炮弹才会真正的飞出炮膛。

        而一艘突破完全的战列舰,其一轮炮击将会分为三波炮弹,每波炮弹会射出与主炮联数相等枚数的炮弹。

如图,一艘装备双联主炮的战列发射的一次完整炮击:

完整炮击过程

通过对弹道飞行的逐帧分析,我们可以得到以下图证与结论:

  • 连续两波炮弹出膛的时间间隔:1s

胡德第二波炮弹出膛的时刻,定为起始时间
胡德第三波炮弹出膛的时刻,定为结束时间

        读取片段时长,即可得证结论。

  • 单波炮弹的连续两枚炮弹的出射间隔:0.167s左右(5帧)

第二波炮弹的第一枚炮弹出膛的时刻,定为起始时间
第二波炮弹的第二枚炮弹出膛的时刻,定为结束时间

        接下来的结论如果一一列举图证会使得图片占比过大,影响攻略的正常阅读,所以姑且只放出结论,如果对这部分的结论有疑问,可以私聊我索取相关的图证。

  • 单波炮弹的第一枚炮弹从出膛到命中所需时间:

  • 通常弹、穿甲弹——中场——打前排:1s~1.167s

  • 通常弹、穿甲弹——后场——打后排:1.933s~2.2s

  • 高爆弹——中场——打前排:1.1s~1.4s

  • 高爆弹——后场——打后排:2.33s~2.66s

令:

T高爆=L1/V高爆

T通常穿甲=L2/V通常穿甲

取两种弹都打后排旗舰位置的弹道时间,即有L1=L2,此时“T的比值的倒数”即为“V的比值”。

V高爆:V通常穿甲=[(2.33+2.66)/2]/[(1.933+2.2)/2]≈120%

即可得引申结论:

  • 通常弹和穿甲弹的炮弹飞行速度比高爆弹快约20%左右

        这个结论在推图部分还会涉及一些手操细节,可以小小的记一下,对手操高爆炮驱预判逐BOSS走位有一定帮助。

  • 三式弹出射到足够拦截的高度并开始炸开形成弹幕所需的时间为:1s

  • 单波三式弹弹幕处于有效高度的时长:0.5s左右


演习部分结论的实际运用:

        综合通过逐帧得到的“现象结论”,我们可以得到以下的“计算结论”:

        假定最后一波炮弹是以后排为目标的,且将弹道飞行时间统一取为2.5s和2s。

        那么从装填完毕到打出全部伤害所需的时间:

  • 伤害作用时间=出膛演出+全弹道飞行=1s+3.5s~4s=4.5s(穿甲)/5s(高爆)

  • 装填结束后到开始造成伤害的时间:3s~3.5s

  • 三式弹有效时间分布:装填完毕后的2s~2.5s、3s~3.5s、4s~4.5s

        在得到作用时间后,我们就可以利用这些结论来精确避开南胖的最强之盾和企业的无敌,又或者更好的去利用新出的三式弹在演习中拦截敌机。

        以攻略开头提到的“毕业企业”为例,其起飞时间大概为23.2s左右,无敌时间8s,令一艘战列的装填时间为T,如果想要不浪费输出,T的取值范围应为:

        T+1+T+5<23.2或T+5<23.2 & T+1+T+3>23.2+8

所以:

        T<8.6s 或 13.6s<T<18.6s

        显然,让装填时间小于9s是不可能的。

  • 因此,只要注意控制战列的装填时间13.6s<T<18.6s,即可在演习中对上企业时不浪费一点输出。

        南胖用的人很少,而且用类似的方法很容易就得到了,所以这里就不算了,终极怠惰233


*关于三式弹的应用:

        首先考虑利用三式弹拦截赤城(凰)和加贺(鸢)的第一轮空袭11.6s,以下使用吃喝对其代称。

        令装填时长为T,其取值范围如下:

        T+2<11.6+2.4<T+2.5 

        所以想靠三式弹拦截吃喝的第一轮空袭,最慢T也应符合:


        11.5s<T<12s


由于+10三式弹面板如下:

三式弹面板

        即便是号称“战列速射极限”的满配威尔士亲王,也无法将三式弹的射速提到12s这个阈值上:

        19.29×[200/(100+213×1.35)]1/2=13.85s > 12s

        所以只能放弃对吃喝第一轮空袭的拦截,转投其他方式来使用三式弹。


        那能否利用三式弹拦截企业、光辉等23.2s左右起飞的航母呢?

        由于+10三式弹的射速为19.29s轮,已经远小于了23.2s,所以先尝用三式弹的第三波弹幕来拦截。

        T的取值范围如下:

        T+4<23.2+2.4<T+4.5

        所以想利用三式弹拦截一般正航的空袭,T最快也要符合:

        21.1s<T<21.6s

        显然,想利用+10的三式弹拦截一般正航的第一轮空袭也是不可能的。


        这两个计算结果都直接指出三式弹在演习中拦截飞机时,存在射速上的问题,那么这是不是说三式弹就完全不能用了呢?……并不是。

        第一轮空袭拦不了,去拦第二轮空袭便是。

        若拦截吃喝的第二轮空袭,则T的取值范围:

        T+1+T +2<11.6×3+2.4<T+1+T +2.5

        T+1+T+3<11.6×3+2.4<T+1+T +3.5


        T+1+T+4<11.6×3+2.4<T+1+T +4.5

        因为三式弹往往在先锋战斗位置爆开才能拦截到舰载机,所以这里舰载机的飞行时间都取的2.4s。将式子化简:

    • 16.85s<T<17.1s

    • 16.35s<T<16.6s

    • 15.85s<T<16.1s

        大家可以利用这个结论进行计算以及配置自己的战列,以利用三式弹拦截吃喝的第二轮空袭。

        如果嫌麻烦的话,这里给出一种方式:

        200好感的伊丽莎白使用三式弹+一个弹链。

        剩下的问题就是如何调速来使这一发三式弹不被干扰的发射出去了。拦截成功的大致效果如图:

拦截成功效果图

        伊丽莎白的炮击值较低,三式弹的伤害不一定能消灭掉足够数量的飞机,而且三式弹的拦截逻辑在演习中也不太好,虽然经过一次优化,但还是不怎么好用。

        实际使用下来,十盘能打中两次就要谢天谢地了,但造成这种情况的原因并不是开炮时机的问题。开炮时机一直很完美,但炮弹就是会和飞机擦肩而过,所以目前的三式弹真的真的只能当玩具

        总的来说就是:方案仅供参考,具体使用情况也需结合实际



        由于字数限制,推图部分无法与演习部分同时放出,因此本期的攻略也就到此为止了。如果有时间,也希望您能试着看一下探究过程。当然啦,攻略在诞生之初即为功利的造物,只关心结论没什么不对的,大可不必心怀桎梏,感谢您能够点进这篇攻略,并耐心的读下去,如果这些文字能帮到什么,那就再好不过。

        请尽情的期待推图部分的逐帧全解吧,我敢保证它会比这篇攻略更为实用且精彩。

        这里是“灰尘”,等待着与您下次相会。

战列炮击与航母空袭逐帧全解(上)的评论 (共 条)

分享到微博请遵守国家法律