致命エフェクト/赤ズームエフェクト





致命エフェクト

概要

撃墜に至るほど強いふっとばしを受けたファイターには、赤黒い稲妻のようなエフェクトが発生する。
これを致命エフェクト (Deadly blow)と呼ぶ。
ただし、メテオ攻撃で下撃墜になる場合は致命エフェクトは発生しない。
画面にエフェクトが出る以外、対戦に与える影響は無い。

致命エフェクトの発生判定には、ベクトル変更やずらしは考慮されない。
これは致命エフェクトの発生が攻撃ヒットの瞬間であることからも明らかである。
そのため、主にベクトル変更のせいで
  1. 致命エフェクトが発生したのに撃墜されなかった
  2. 致命エフェクトが出なかったのに撃墜された
という状況が発生する。

ベクトル変更・ずらしにさえ目を瞑れば、致命エフェクトは撃墜・バーストの可否をそれなりに正しく見積もることができる。

↑ 致命エフェクト。


発生条件

致命エフェクトは、ファイターが倒れふっとびになったときに以下の「致命エフェクト条件」を満たすと発生する。
大雑把には、「ふっとび硬直が終了するまでに撃墜する見込みであること」が致命エフェクト条件となる。

致命エフェクト条件
予測されるファイターのふっとび軌道が 横または上の撃墜ラインに到達 し、かつ到達時に以下の2点を満たすこと。
  1. ふっとび硬直が終了していない。(※小数点以下の硬直値も考慮
  2. ふっとび速度が規定値より大きい。

ふっとび速度の規定値は次の通り。
撃墜方向 ふっとび速度
横撃墜 ふっとびX速度 > 0
上撃墜 ふっとびY速度 > Max(2.4, -落下速度)

ふっとび軌道の予測は、ベクトル変更・ずらしをしなかった場合の初速・角度・位置で計算される。
計算は原則として ふっとび中の速度 の仕様に従うが、以下の点が通常と異なる。
  • 地形などの障害物を無視する。
  • 最大落下速度を、重力値 * INT(最大落下速度 / 重力値)に置き換える。
    • 例えば(最大落下速度, 重力値) = (1.8, 0.0756)であれば、0.0756 * INT(1.8 / 0.0756) = 1.7388を最大落下速度とみなす。

致命エフェクト条件を数式で表現すると以下のようになる。
+数式
【致命エフェクト条件(上)】
Ly < A - B - C - D
  • Ly = 上の撃墜ラインまでの距離
  • A = v0y * t2
  • B = a * sinθ * *1 + (t2-t2')*(t2'+1))
  • C = 0.5 * g * t1 * (t1+1)
  • D = g * t1 * (t2-t1)

致命エフェクト条件(横)
Lx < E - F
  • Lx = 横の撃墜ラインまでの距離
  • E = v0x * t2
  • F = a * cosθ * (t2'+1) * (2*t2-t2')

変数リスト
  • v0x = ふっとびX初速
  • v0y = ふっとびy初速(重力補正込み)
  • θ = ふっとび角度(重力補正込み)
  • g = 重力値
  • f = 落下速度
  • a = ふっとび減衰 =0.051
  • t1 = int(f/g)
  • t2 = min(t_hitstun , t_stop)
  • t2' = int(t2)
  • t_hitstun = KB * 0.4
  • t_stop_x = v0x / (a*cosθ)
  • t_stop_y = {v0y - max(f, 2.4)} / (a*sinθ)


エフェクトの正確さ

致命エフェクト条件が実際の撃墜可否を正しく判定できない原因は以下の通りである。

  • ふっとばされる側がベクトル変更・ずらしをした。
致命エフェクト条件は、ベクトル変更・ずらしをしなかった場合のふっとび軌道を計算している。
ゆえに、ベクトル変更・ずらしが良ければ「エフェクトありでも非撃墜」に、悪ければ「エフェクトなしでも撃墜」になりうる。

例:ベクトル変更とふっとび硬直が切れるまでに飛ぶ距離の関係。
条件は、終点中央で38°にふっとぶワザを当てて致命エフェクト条件を「ちょうど満たす」とき。
ここで、致命エフェクト条件を「ちょうど満たす」とは、ふっとび硬直が切れる瞬間に撃墜ラインに到達するような状況を指す。
ベクトル変更 ふっとびX距離
なし 240
外側 約260
内側 約219

  • 撃墜判定と計算で参照されるファイターの部位が異なる。
実際の撃墜判定で参照されるのは、ファイターのお尻(部位:Hip)の座標である( 参考 )。
一方、致命エフェクト条件はファイターの足元(部位:Top)の座標を参照しており、撃墜判定を直接評価していない。
Hipの位置は、Topに比べてX座標が1~3程度外側に、Y座標が5~10程度上に位置している。(モデル・ふっとび姿勢によって変動)
したがってHipの方がTopよりも撃墜ラインに触れやすく、「エフェクトなしでも撃墜」になることがある。


  • 適切な撃墜緩和行動を取らなかった、もしくは緩和しきれない状況だった。
致命エフェクト条件は、「ふっとび硬直が切れるまでに撃墜するかどうか」を判定するものである。
しかし実際の横方向のふっとびでは、硬直が切れた時点ではふっとび速度が減衰しきっていない。*2
そのため「硬直後に撃墜ラインに触れてしまう」という可能性があり、「エフェクトなしでも撃墜」となる場合がある。
ふっとび硬直後に撃墜する可能性は、撃墜緩和行動により大きく低減できる。
しかし最適な緩和でも飛行速度を直ちに0にできない状況も存在し、この場合には硬直後に撃墜される可能性が残る。

例:終点中央から38°ワザを当てて、致命エフェクト条件を「ちょうど満たす」状況を考える。
この状況では、撃墜ライン到達時のふっとびX速度は約1.5である。
大体1程度のX速度を得るジャンプ緩和では飛行速度を直ちに0にできないので、硬直後に撃墜する可能性がある。


  • 発生条件に、最大落下速度の代わりにint(最大落下速度/重力値)が使われている。
計算上は落下速度が実際よりも小さくなるため、ふっとび中の速度Y成分が大きくなる。
結果として上方向の致命エフェクトが出やすく、「エフェクトありでも非撃墜」になりうる。

例:(最大落下速度, 重力値)=(1.8, 0.0756)のファイターに、終点地上で90°ワザを当てる。
int(落下/重力)を使って計算する致命エフェクト条件を「ちょうど満たす」とき、計算上のふっとび距離は180となる。
一方、仮に最大落下速度そのものが計算に使われていたとすると、ふっとび距離は約177.5となる。





赤ズームエフェクト

概要

ストック制乱闘で2人が戦っているとき、残機1のファイターが撃墜に至るほど強いふっとばしを受けると、次のような演出が入る。
  • 赤い背景になる。
  • 画面がズームアップされる。
  • 動作が一時停止・スロー状態になる。
  • BGMの音量が下がり、専用のSEが鳴る。
この全体で1秒ほどの演出を、赤ズームエフェクト (Finish Zoom, Kill Screen)と呼ぶ。

赤ズームエフェクトが発生する条件は、致命エフェクトとは独立している。
致命エフェクト条件のみを満たす状況、赤ズームエフェクトのみを満たす状況がそれぞれ存在する。
ただし赤ズームエフェクトが発生すると、致命エフェクト発生条件を満たすか否かに関わらず画面上に致命エフェクトが現れる。

赤ズームの発生判定には、ベクトル変更やずらしは考慮されない。
これは赤ズームの発生が攻撃ヒットの瞬間であることからも明らかである。
そのため、ベクトル変更によって
赤ズームが発生したのに撃墜されなかった
赤ズームが出なかったのに撃墜された
という状況が発生しうる。
さらに赤ズームの発生条件は、致命エフェクトに比べると撃墜可否をかなり杜撰に評価している。
ゆえに、
赤ズームが出たが、ベクトル変更しなくても撃墜に至らなかった
というような状況がしばしば発生する(特にふっとび角度31°以下の攻撃で顕著)


↑ 赤ズームエフェクト。


発生条件

赤ズームエフェクトは、以下の「赤ズームエフェクト条件」を満たすと発生する。
ただし一度赤ズームが発生すると、その後100Fは赤ズームが発生しない。
また致命エフェクトとは異なり、ふっとび軌道上に壁などの地形がある場合には赤ズームは発生しない。

赤ズームエフェクト条件
ふっとび硬直最終フレームの1F前(=行動可能フレームの2F前。整数値)における横or縦方向のふっとび距離が、
「(撃墜ラインまでの距離 * 角度補正倍率) + 角度補正加算値 + 位置補正加算値」
に達する。

ふっとび距離の予測は、ベクトル変更・ずらしをしなかった場合の初速・角度・位置で計算される。
計算は原則として ふっとび中の速度 の仕様に従うが、以下の点が通常と異なる。
  • 重力補正を無視したふっとび初速を用いる。


角度補正
角度補正倍率・加算値は、攻撃の角度に依存する補正値である。
ただし、投げによるふっとばしに対してはさらに別の値を使う。
倍率・加算値が小さいほど、赤ズームが出やすい (=「赤ズームなのに撃墜にならない」というケースが多い)。
検証から求めた数値は以下の表の通り。

【通常攻撃・横撃墜】
角度 倍率 加算値
20°~31° 0.91 -0.2
32°~46° 0.98 0.0
47°~56° 1.0 0.0
57°~60° 1.02 0.1
361° 1.005 0.05

【通常攻撃・縦撃墜】
角度 倍率 加算値
60°~70° 1.02 0.7
71°~80° 0.98 0.68
82°~90° 1.0 0.6

【投げ】
角度 倍率 加算値
全角度 1.05 0.9


位置補正加算値
位置補正加算値は、上撃墜ならばファイターのX座標、横撃墜ならばファイターのY座標に応じて変化する補正値である。
現状、「自作ステージで90°ワザを当てたとき、ファイターX座標によって赤ズーム発生条件が変わる」という形でのみ確認している。
横撃墜の場合や、他の角度の攻撃、他のステージでも加算値が存在するかどうかは不明。
検証から求めた数値は以下の表の通り。

【自作ステージ・90°ワザの場合】
ファイター位置 加算値
中央(僅かに左) ±0
中央(僅かに右) +0.1
カメラ -0.05


検証結果の不確定性
赤ズームの発生条件は全て実機検証で推定した(内部データ解析で条件を求めるのは難しい)。
そのため、特に式中の2つの加算値は不確定性が高い。
検証方法の詳細は以下の通り。
+詳細
使ったのは、基本的に自作ステージ。ステージ広さは「大」。
撃墜ラインまでの距離=180にしたとき、終点での結果とほとんど変わらないことは確認済み。
ステージ中心の縦線に右側の崖が来るようにすり抜け不可の床を置き、崖を背にするようにファイターを立たせ、ワザを当てた。
ふっとび軌道上に「ワープゾーン」を設置し、ファイターが撃墜されるのを防いで検証を効率化した。

上の撃墜ラインまでの距離は正確に把握できる(ファイターが地面より0.01だけ高い位置に立っていることに注意)。
横の撃墜ラインまでの距離は、「ファイターが崖端に立った時、崖端の座標より約0.1だけ内側にいる」という仮定の元で求めた。
(上記の仮定は終点崖端での致命エフェクト条件から求めた)
投げられたファイターの撃墜ラインまでの距離も、終点での致命エフェクト条件から見積もった。


通常のスロー演出

赤ズームが発生すると、攻撃がヒットした瞬間から背景が赤くなる。
そしてヒットストップの代わりに、ヒットしたフレームも含め50Fのあいだ画面が一時停止する。
停止が解除されると、「通常時におけるヒットストップが終わった状態」となる。
ただしベクトル変更の受付は停止解除直後ではなく、もっと早いタイミングである。

一時停止解除直後の8Fは、攻撃側・防御側ともに1/4倍のスロー状態になる。
このとき、攻撃側は8 * 1/4 = 2フレームだけ行動が進む。
一方、防御側は1-4F目は動かず、5-8F目に行動が1フレームだけ進む(本来のふっとびの1F目が再生される)。
したがって、赤ズームエフェクトが発生すると、通常時よりも攻撃側が1Fだけ早く動けるようになる。

スロー状態が終了すると赤背景は消え始め、動作も通常時のものに戻る。
スロー演出中、乱闘のタイマーはスローにならずに動き続ける。

赤ズーム一時停止中のベクトル変更の受付タイミングは未調査。
一時停止の初めの方にスティックを倒せば、ベクトル変更が可能。
おそらく通常のヒットストップがある場合と同様のタイミングだと思われる。


投げのスロー演出

投げには元々ヒットストップが無いため、赤ズーム中の時間処理が通常と異なる。

全ての投げのスクリプトには、投げがヒットするよりも前に赤ズーム判定を行うコマンドが置かれている。
それに伴い、実際に赤ズームが入るのも前にずれ込む。
投げの赤ズームに関するコマンドには以下の3種類がある。それぞれの効果は未調査。
  • CHECK_FINISH_CAMERA(OffsetX, OffsetY)
  • FighterCutInManager__set_throw_finish_zoom_rate(ZoomRate)
  • FighterCutInManager__set_throw_finish_offset(OffsetX, OffsetY, OffsetZ)

赤ズームのスローx1/4状態下では、攻撃側・防御側ともに通常と同じく行動が2フレームだけ進む。


打撃なしの投げ
打撃なしの投げの赤ズーム条件判定コマンドは、基本的にふっとびの1F前に置かれている。
そこで赤ズーム条件を満たすと、そのフレームの状態で一時停止する。
そのあと、スローの1-4F目は本来投げがヒットするフレームが、5-8F目はふっとびの1フレーム目が再生される。
ただし、この間に防御側のふっとび硬直は2フレームだけ消費される。
結果的に、ふっとぶ側の座標の推移は通常と同じだが、防御側の硬直が解けるのが1Fだけ早くなる。

上方向への撃墜では基本的に影響を受けないため、横方向への撃墜が見込める以下の投げで影響を受ける。
  • 前投げ

  • 後投げ




打撃ありの投げ
打撃ありの投げの赤ズーム条件判定コマンドは、基本的に最後に当たる打撃判定と同じフレームに置かれている。
(ちなみに、打撃ありの投げの多くにおいて、実際に投げのふっとばし判定がヒットするのは打撃判定の1 ~ 2F後。)
実際に赤ズーム条件判定が行われるのは、最後の打撃判定がヒットした次のフレームである。
そこで赤ズーム条件を満たすと、打撃判定のヒットストップが赤ズームの一時停止に置き換わる。
そのあと、スローの1-4F目は本来投げがヒットするフレームが、5-8F目はふっとびの1フレーム目が再生される。
結果的に、座標推移・硬直差ともに通常時と全く変わらない。





コメント

最終更新:2020年05月24日 19:15