ふっとび速度


基本的にこのページで考えるのは、ふっとび加速演出を無視した仮想的なふっとびの速度です。
実際にゲーム中でファイターがふっとぶ速度とは異なります。
ふっとび方を完全に理解するには、ページ:ふっとび加速演出も合わせて読んでください。
上記の通り、このページで扱うのは仮想ふっとびの速度である。
加速演出がかかった場合、このページにおける「ふっとび初速」は実際にファイターが1F目に移動する距離とは異なる。
さらに、「フレーム」という単語はゲーム内の1フレームではなく、仮想ふっとびにおける時間の単位を示す。
ゆえにスマブラSPのふっとび速度を理解するには、まずこのページでスマブラfor同様の加速演出が無い場合の挙動を押さえ、
その上でSPの新システム:ふっとび加速演出を読むことが推奨される。




ふっとび初速

計算されたふっとばし力(KB)に対し、ファイターのふっとび初速は以下の式で計算される。
ふっとび初速 = KB * 0.03 * LSI
速度の単位は [ゲーム内距離の10cm/フレーム] である(明示しないことも多い)。
LSIは「速度変更倍率」で、標準値は1.0である。

実際にファイターがふっとぶ速度・方向は、ふっとび初速の計算も含めて以下のように処理されている。

1. 上式に従ってふっとび初速を計算する。
2. 倒れふっとびの場合のみ、ふっとび初速Y成分に 重力補正項 を加える。
ふっとび初速(X成分) = ふっとび初速 * cos θ
ふっとび初速(Y成分) = ふっとび初速 * sin θ + (5 * (重力 - 0.075))
θ:攻撃判定のふっとばし角度
3. 初速X成分とY成分を合成した速度で、ベクトル変更を加味した角度φの方向に飛んで行く。

φは実際にファイターがふっとぶ角度である。
重力補正やベクトル変更を加味した値であり、攻撃判定のふっとばし角度θとは必ずしも一致しない。





ふっとび速度の減衰

ふっとび速度は1Fにつき0.051ずつ減衰する。ふっとばし力に換算すると-1.7KBとなる。
ふっとび速度の減衰を各成分に分けると以下の通り。
X方向ふっとび減衰 = 0.051 * cos φ
Y方向ふっとび減衰 = 0.051 * sin φ





ふっとび中の速度

ふっとび中の移動速度は、「ふっとび速度」と「通常移動速度」の和 になっている。

ここで通常移動速度とは、空中横移動や落下など、ファイターの通常時の移動速度を管理するためのパラメータのことを指す。
ファイターの通常移動速度は、攻撃を受けたフレームにリセットされる(X,Y成分ともに0になる)。

以下ではふっとび硬直中の計算を考え、ふっとばされたファイターが空中にいる場合・地上にいる場合に分けて解説する。

ファイターが空中にいる場合

X方向の速度
ふっとび硬直中は 横移動の入力が一切受け付けられない ため、通常移動速度X成分は0
したがって、ふっとび速度X成分がそのままX方向速度になる。
ふっとび硬直中のnフレーム目のX方向速度は以下の通り。
X方向速度_n
= X方向ふっとび初速 - n * X方向ふっとび減衰
= ふっとび初速 * cos θ - 0.051 * cos Φ

Y方向の速度
ふっとび硬直中でもファイターに重力が作用し、1Fごとに重力の値だけ通常移動速度Y成分が減少する。
ただし、最高落下速度は下回らない。
nフレーム目のY方向速度は以下の通り。
Y方向速度_n
= Y方向ふっとび初速 - n * Y方向ふっとび減衰 - MAX(最高落下速度, n * 重力)
= ふっとび初速 * sin θ + (5 * (重力 - 0.075)) - 0.051 * sin Φ - MAX(最高落下速度, n * 重力)
計算には通常の重量値・落下速度か、ふっとび専用重力値・落下速度(後述)のいずれかが使われる。


ファイターが地上にいる場合

平坦な地面でY成分のふっとび速度が0の場合には、ふっとび後のファイターが地上にいる判定になる。
地上でふっとんでいる間はふっとび減衰に加え、 1Fごとに地上抵抗の値だけふっとび速度が減少する。
したがって、nフレーム目のX方向速度は以下の通り。
X方向速度_n (地上)
= MAX(X方向ふっとび初速 - n * X方向ふっとび減衰 - n * 地上抵抗値, 0)
= MAX(ふっとび初速 - n * 0.051 - n * 地上抵抗値, 0)
Y方向ふっとび速度、およびファイター速度は0である。


ふっとび専用重力値・落下速度

ふっとんだ角度が70°≦φ≦110°のときのみ ふっとび中の落下速度計算には専用の重力値・落下速度 が使われる。*1
該当する角度のふっとびでは、重力補正の計算にも専用重力値が使用される。
ただし、相手の重量を100に固定するタイプのワザでは専用の重力値・落下速度は用いられない。
この仕様が影響し、格闘Miiの横必殺ワザ1ではクッパよりもフォックスの方が撃墜%が高くなってしまう。

ふっとび専用重力値・落下速度は、通常の重力値・落下速度とは別に、次のように設定されている。( 参考
ふっとび専用重力値 = 0.0756 - 0.000336 * (100 - 体重)
ふっとび中専用落下速度 = 1.8
専用落下速度は全ファイター共通であり、重力値も普通のものに比べてファイター間のバラつきが小さい。

専用重力値・落下速度が適用される時間は、そのふっとびに対して計算される DamageFlyTopアニメーションの長さ に等しい。
DamageFlyTopアニメーションの長さは、ふっとび硬直 + 約15Fである。(正確な計算式は不明)

このシステムはスマブラSPで初めて実装された。
for以前における「落下速度・重力値の大きいファイターほど上に撃墜されにくい」という傾向を解消するための仕様である。
未だに同じ体重のファイターでも上撃墜%に差が出ることはあるが、これは各ファイターのふっとび中の姿勢によるものである。


ファイターの座標

あるフレームにおけるファイターの座標は、 前のフレームの座標+現在フレームの速度 で計算される。
この計算方法はふっとびに限らず、ファイターの移動全般にも当てはまる。
ふっとび初速は0F目の速度として定義されているので、ふっとび1F目の速度は、初速から1Fぶんだけ減衰した速度である。

表:ふっとばされたファイターの速度・座標推移の例。
X初速が5.0、ふっとび角度と仮定した場合の計算。
なお、ここでは加速演出を無視している。
フレーム X速度 X座標
0 5 0
1 4.949 4.949
2 4.898 9.847
3 4.847 14.694
4 4.796 19.49





ふっとびが干渉を受けるケース

地形との接触

壁・天井に接触した時
ふっとび速度が1.0以上であれば"衝突"扱いになる。
衝突すると、壁・天井でふっとび硬直 * 0.15 [F]の間(下限2F、上限30F)硬直する。
硬直後は、ふっとび速度が衝突前の0.95倍、ふっとび硬直値が0.8倍になって跳ね返る。

床に接触した時
ふっとび速度が0.8以上であれば"衝突"扱いになる。
壁・天井と異なり、衝突するとすぐにバウンドしてふっとぶ。
硬直後は、ふっとび速度が衝突前の0.9倍、ふっとび硬直値が0.8倍になって跳ね返る。

受け身
地形と衝突するとき、ファイターの速度が6.0以下であれば、衝突する代わりに受け身を取ることができる。
詳しくは受け身を参照。


別の攻撃判定と接触

ふっとび中に攻撃に当たると、 ふっとび速度・硬直などはリセット され、後から当たった攻撃によるふっとびが新たに始まる。
ただし、当たった攻撃が非常に弱い場合、ふっとびが上書きされることなくそのままふっとんでいく。
ふっとび速度が上書きされない条件は、
後から当てる攻撃のふっとび速度が、その時点の相手のふっとび速度より2.0以上小さい こと。

また、いくつかの条件を満たすと ベクトル合成 が発生する。( 参考:for検証wiki





ふっとび硬直後の移動速度

ふっとび硬直が終わると、通常移動速度を加算できる行動を取ってふっとび中の移動速度を抑えることができるようになる。
勘違いしてはいけないが、基本的にふっとび速度は自然減衰(-0.051/F)によってのみ減少する。
ふっとび中の移動速度が0以下になっても、自然減衰が終わるまでふっとびの勢いは残ったままである。

詳しくは、 バーストの緩和 を参照。

+ 開く
{

通常移動速度を加算できる行動

空中ジャンプ
通常移動速度X成分が空中横移動速度空中ジャンプX初速倍率 (jump_aerial_speed_x_mul)の積になる。
1.0前後の通常移動速度を即座に得ることができるため、ジャンプ緩和は多くのファイターにとって最も有効なふっとび緩和行動である。
ただし、ロボットのみはjump_aerial_speed_x_mulの値が0に設定されているため、空中ジャンプに緩和の効果が全くない。

ちなみにforの空中ジャンプにはY方向の"ふっとび速度"を0にするという効果もあったが、SPでは廃止された。

移動空中回避
ふっとび硬直キャンセルにより、ジャンプよりも早いタイミングで出せる。
ふっとびの強さ・角度によっては、 空中ジャンプよりも強力な緩和行動になる。
ただし移動回避出始めの1~4Fは回避の方向と反対にファイターが動くため、そのせいで撃墜ラインに触れてしまうことも多い。
マリオの移動回避では反対に動く距離は6.9で、5F目に初めて得る正の移動速度は4.2。(キャラ差あり)

移動する必殺ワザ
空中ですぐに移動を開始するワザが該当。
フォックス・ファルコ横Bのように、発動から移動開始までに時間のかかるワザは緩和には使えない(むしろ逆効果)。
下記の「速度リセットワザ」とは別。

空中横移動
1Fにつき空中加速度の分しか速度を得られないため、緩和行動としては弱い。


速度リセットワザ

一部の必殺ワザは、使用すると通常移動速度・ふっとび速度の両方が0になる(速度リセットワザ)。
ふっとび緩和として非常に優秀である。

代表:
  • むらびと横B
  • ドンキー上B
  • ベヨネッタ下B etc...

トレーニング専用ステージなどで非常に強いふっとばしを与えてから必殺ワザを使い、
ふっとんでいるファイターがピタッと止まってワザが出れば速度リセットワザだと確認できる。

余談だが、移動必殺ワザがこれに該当すると勘違いされているケースがかなり多い。
勿論それらのワザも強力な緩和手段となりうるが、原理的には速度リセットワザの方が緩和性能が高い。
特に、ふっとびが非常に強い場合にはふっとび速度リセットワザでないと緩和しきれないことがある。

速度リセットに該当しない移動必殺ワザの例:
  • シーク下B
  • リュウ・ケン横B
  • ベヨネッタ横B etc....


その他

「空中攻撃による緩和」について
「空中攻撃がふっとび緩和行動になる」と言及されることがあるが、
これはファイターの体勢を立て直すことで撃墜ラインに触れるのを防いでいるだけである。
基本的には移動速度に干渉することを「ふっとび緩和」と呼ぶので、厳密には正しくない表現ということになる。

移動する空中攻撃
シーク空下・カムイ空後などの空中攻撃の移動効果は、ふっとび硬直が終わってからもしばらくのあいだ無効になっている。
移動可能になるのは、ふっとび速度が0.2以下になった時。






関連

ふっとび速度の上限

ふっとび速度そのもの、ファイター速度には上限が設定されている。しかしこの上限に達することはほとんどない。

ふっとび速度そのものの上限
ふっとばし力は2500よりも大きい値にならない。LSIも考慮すると、ふっとび速度の上限は
ふっとび速度上限 = 2500 * 0.03 * 1.095 = 82.125
である。
また、地上におけるふっとび速度は8.3以上にならないように設定されている。

ファイタートータル速度の上限
ファイタートータル速度とは、ふっとび速度、ファイター移動速度などをすべて含めた速度のこと。
以下の上限が存在する。*2
地上X速度: 17
空中X速度: 100
空中+Y速度: 15
空中-Y速度: 100


リザルト画面の最大ふっとび速度

ふっとび速度の単位は[10 cm/F]であるため、これを[km/h]に変換すればリザルト画面と単位が揃う。
for Wii Uに存在していたバグ( 参考 )は修正されている。
加速演出がかかっていないふっとびでは、
リザルトふっとび速度 = INT(ふっとび初速 * 60 * 60 * 60 / 1000 / 10) = INT(ふっとび初速 * 21.6) [km/h]

加速演出がかかっている場合は、ふっとび加速演出を加味した1F目の移動距離を求める。
ふっとび加速演出 に従ってふっとび1F目の座標を計算し、ふっとび始めた位置からの距離を上式の「ふっとび初速」に代入する。






番外編:重力補正は不要?

重力補正は、重力値が大きいファイターほどふっとび初速Y成分を大きくする仕様である。
ふっとび初速(Y成分) = ふっとび初速 * sin θ + (5 * (重力 - 0.075))
ここで、"重力"には
  • 飛ばされた角度が70°≦φ≦110°のとき:ふっとび専用重力値
  • それ以外のとき:通常の重力値
を用いる。

重力補正は元来、「重力値・最高落下速度の高いファイターは上に撃墜されにくい」という傾向を軽減するためのシステムである。
しかしSPではふっとび専用重力値が導入されたため、 格差軽減という役割がほぼなくなった。
そもそも、for以前でもファイター間格差軽減にはあまり貢献していなかったのだが…。 参考:for検証wiki

他方、重力補正は 「重力値・最高落下速度の高いファイターほど横に撃墜されやすい」 という傾向をもたらす。
重力補正でY初速が大きくなると、実際にふっとぶ角度Φも増加する。
すると、ふっとび減衰のX成分0.051 * cos φの値が減少し、
X方向のふっとび減速が弱くなって横方向に撃墜されやすくなるという仕組みである。

表:
ルキナ横強で終点中央から「操作」にしたCPを左にふっとばしたときに横撃墜になる%を示した。
OPx1.0、ベクトル変更なし。
ファイター 体重 重力値 撃墜% ふっとび角度Φ
ファルコ 80 0.13 162 40.19°
ロゼッタ 80 0.062 167 37.47°
ファイター格差の少ないふっとび専用重力値が適用されるのは、先述の通り70°≦φ≦110°の時に限られる。
ゆえに、横にふっとばすワザではfor同様ファイター差が大きい。

このように、重力補正はその意義を新システムに奪われて形骸化しただけでなく、
未だに残存しているせいで従来からの弊害だけを生み出すよくわからない仕様になってしまった。
専用重力値・落下速度の導入は落下速度がふっとび耐性に与える影響を取り払おうという意図以外考えられないのだが、
その一方でこちらが放置されているのはおかしい。
さっさと重力補正を廃止してしまう、もしくは全ふっとびに対し専用重力値を適用するべきだと管理人は思う。






コメント

最終更新:2019年06月20日 00:15

*1 fighter_param, damage_fly_top_air_accel_y および damage_fly_top_speed_y_stable

*2 common, ground_speed_x_limit など