Apex Legendsのリコイル(反動)には、規則的な成分とランダムな成分が存在します。この記事では前回の1発目のリコイルのランダムな成分の解析をもとに、全弾分の解析を行います。前回の記事は以下のリンクを参照してください。結論だけ見たいという方は、"3. 結果と考察"および"4. 結論"あたりを参照してください。
目次
1. 背景と目的
Apex Legendsでは、武器ごとに特定のリコイル(反動)パターンがありますが、毎回同じパターンにはならずランダムな要素が含まれています。そこでこの記事ではランダムな要素が一体どのようなものなのかを調査します。調査は何段階かに分け、最終的には、調査結果を用いてランダムな要素を取り除いたリコイルパターンや武器ごとのランダム性の強さなどを求める予定です。
2. 調査方法・条件
2.1 条件および選定理由
2.1.1 ゲーム側
条件は前回同様なので省略します。
2.1.2 解析ソフト側
条件は前回同様なので省略します。
2.2 測定方法
2.2.1 撮影方法
以下のように撮影しました。前回との違いは1発だけか全弾かの違いのみです。
- ADSした状態で、全弾の反動を32回撮影する
- ソフトウェア処理でパターンマッチを行うため、目印となるオブジェクトが常に画面内にあるようにする
- 撮影中マウスは浮かせ、マウスの動きによる影響が測定データに入らないようにする
2.2.2 解析方法
以下の方法で解析しました。前回との違いは、動いた量の測定方法のみです。"残弾数が減る=弾が発射された"といえるので、残弾数が減る直前のフレームから、次に残弾数が減る直前までの移動量を測定することで、各弾ごとのリコイルを測定します。
- 撮影した動画をOpenCVのパターンマッチを用いて1フレーム単位で解析する
- 画面右下の残弾数をパターンマッチを用いて取得する
- 画面の動きは目印となるオブジェクトが画面内のどの位置にいるかをパターンマッチを用いて取得することで認識する(測定精度は1pixel)
- 残弾数が減ったタイミングの1フレーム前を打ち始め位置として、そこから次の球が発射される1つ前のフレームまでに画面が動いた量を記録する
- 測定結果を何発目の発射かで分類し、スプレッドシートでグラフ化するなどして、内容を解析する
3. 結果と考察
3.1 (参考)前回の結果
比較しやすいように前回の結果を記載しておきます。
図のようなプロットが得られました。円や正方形ではなく、長方形をしています。したがって、ランダムな要素は横方向と縦方向別々に計算されていると推測されます。
※オルタネータの初弾は左上にリコイルします。グラフの横方向の値は左方向への動きを表しています。
3.2 今回の結果
まず、前回記事での結論にあった"ランダムに動く範囲は長方形"という点を確認します。図に24発目と25発目の反動分布を示します。今回は各発目当たりの取得数が32回と、前回の100回の3分の1程度であるため、あまり精度はよくありませんが、長方形になっていそうなことが推測でき、前回の結論と同じことが言えると考えられます。また反動は中心に寄るのではなく、比較的平均的にに分布しているように見えます。
次に、1~26発目ごとの反動最小値と最大値の差分(つまり、ランダム反動の範囲)をグラフ化すると以下のようになります。だんだんと小さくなっていく傾向があることがわかり、これは反動のランダムに変動する範囲がだんだんと小さくなっていることを表します。
ランダム成分が解析できたため、測定結果からランダム成分を除いて、規則的な成分だけを取り出すことができます。その結果は以下のようになります。
規則的な成分を少し詳しく解析します。オルタネータの規則的な反動の成分を横方向と縦方向分けて抽出すると、以下の図のようになります。縦反動はだんだんと弱まりますが、横反動は後半の方が強い傾向にあるといえます。
4. 結論
オルタネータ1発目以降の反動を32回サンプリングしてランダム性を解析しました。
1発目以降に関しても1発目度と同様に、ランダムな要素は横方向と縦方向別々に計算されていると推測され、ランダムに動く範囲は長方形になります。
ランダムな要素は発射数が増えていくと、だんだんと減っていくことがわかりました。一方、ランダムではない要素のに関して、縦反動はだんだんと減っていきますが、横反動はむしろ増えていっていることがわかりました。
5. 今後の課題
オルタネータ以外でも同様かどうか確認します。