攻撃をヒットさせると、相手にダメージを与えつつ、その技に設定されている方向にふっとんでいく、このスマブラの基本システムの仕組みをまとめます。
ふっとびに関わってくる要素
攻撃側の要因
-
攻撃力(与えるダメージ)
- ワンパターン相殺
- キャラクターのスケール(スーパーキノコなどによって変わる大きさ。通常のガチ対戦では関係なし)
- リアクション付加値
- リアクション影響値
- リアクション固定値
- 設定角度
食らい側の要因
- 蓄積%
-
キャラの運動パラメータ
- 落下加速度
- 落下最高速度
-
体重55 : ピチュー
60 : プリン、Mr.ゲーム&ウォッチ
70 : カービィ
75 : フォックス
80 : ファルコ、ピカチュウ
85 : ヤングリンク、ロイ、ミュウツー
87 : マルス
88 : アイスクライマー
90 : シーク、ゼルダ、ピーチ
94 : ネス
100 : マリオ、ルイージ、ドクターマリオ
104 : C.ファルコン、リンク
108 : ヨッシー
109 : ガノンドロフ
110 : サムス
114 : ドンキー
117 : クッパ
- 投げ技かどうか(投げ技では、通常サイズなら全キャラ共通で100として計算される)
- キャラクターのスケール(スーパーキノコなどによって変わる大きさ。通常のガチ対戦では関係なし)
- ベクトル変更の入力角度
- しゃがみ耐性の有無
- ふんばりジャンプ耐性の有無
ルール設定の要因(通常のガチ対戦では関係なし)
- ふっとび率(Damage Ratio)
-
ハンデ(ハンデの数値によって、以下2つの数値の組み合わせは決まっている)1-> 0.35 / 2.86
2-> 0.40 / 2.50
3-> 0.46 / 2.17
4-> 0.53 / 1.89
5-> 0.61 / 1.64
6-> 0.70 / 1.43
7-> 0.80 / 1.25
8-> 0.93 / 0.52 (完全版では1.08)
9-> 1.07 / 0.93
- ふっとばし率(Offence Ratio)
- ふっとばされ率(Defence Ratio)
「ふっとび値」について
以下の計算式によって「ふっとび値」が算出され、それに応じて「硬直フレーム」が決定します。
- 「リアクション固定値」が設定されていない場合:
(((((((攻撃を受ける前の% + 与えるダメージ) / 10 ) + ((攻撃を受ける前の% + 与えるダメージ) * 設定ダメージ / 20)) * (200 / (体重 + 100)) * 1.4 ) + 18 ) * (R影響値 / 100)) + R付加値) * ふっとび率 * ふっとばし率 * ふっとばされ率 * スマッシュホールド中補正- 「リアクション固定値」が設定されている場合:
(((((1 + (10 * R固定値 / 20)) * (200 / (体重 + 100)) * 1.4) + 18) * R影響値) + R付加値) * ふっとび率 * ふっとばし率 * ふっとばされ率 * スマッシュホールド中補正
SSBM Calculatorで計算できます。
スマッシュホールド中補正
通常は 1.0 ですが、スマッシュホールド中に攻撃を食らった場合は 1.2 となります。
しゃがみ耐性
しゃがみモーション中(しゃがみ始めるモーションを含む)に攻撃を食らった場合、上記ふっとび値計算式の計算結果を 2/3 倍したものが最終的なふっとび値になります。
あくまでしゃがみモーション中だけの効果です。他のモーション中にスティック下を倒してもしゃがみ耐性はありません。
のふんばり耐性
の空中ジャンプ「ふんばりジャンプ」中に攻撃を食らった場合、上記ふっとび値計算式の計算結果を -120 したものが最終的なふっとび値になります。
-120 した結果、ふっとび値が 0 以上になった場合は、ふんばりジャンプが中断され、残ったふっとび値の分だけはふっとびます。
例えば、ふっとび値が 120 ジャストになるような攻撃を食らったときにふんばりジャンプ中だった場合は、ふっとび値は 0 となり、ふんばりジャンプは中断はされるものの、 -120 した後のふっとび値は 0 となるので全くふっとびませんし、食らい硬直もありません。
つまり、ふんばりジャンプを中断させつつ、ふっとび値が 80 を超えたときに起こるダウン状態にするためには、ふっとび値が 200 も必要になります。
硬直フレームの算出式
floor (ふっとび値 * 0.4) – 1
※最後の – 1 は、食らった瞬間の最初の 1F(ヒットストップ)です
ふっとび速度
技を食らった後にふっとんでいくゲーム内の速度の値は、下記の計算式で算出されます。
floor (ふっとび値 * 0.03) – 1
この値が、攻撃判定に設定されているふっとび角度 および ベクトル変更によって確定するふっとび角度に応じて、縦方向・横方向に速度が分けられます。
ダウンふっとびについて
ダウン状態は、攻撃を受け、ふっとび値にして80・硬直フレームにして31F以上になった場合に発生します。
設定角度について
それぞれの攻撃判定毎に設定されています。
この角度に対して、食らい側はスティック入力によってふっとぶ角度に影響を与えることができます。
最終的な角度の算出式
・ベクトル変更の角度計算式(0≦入力角度≦90°、または270°≦入力角度≦360°の場合)
設定角度 – (18 * sin((設定角度 – 入力角度) * PI / 180)^2 ) = 実際に吹っ飛ぶ角度・ベクトル変更の角度計算式(入力角度が90°<入力角度<270°の場合)
設定角度 + (18 * sin((設定角度 – 入力角度) * PI / 180)^2 ) = 実際に吹っ飛ぶ角度
以上の式から読み取れるように、設定角度に対して90°の方向にスティックを倒した時に最も影響が大きくなり、そしてその際に最大18°、設定された角度に影響を与えることができます。
361°(桜井アングル)
斜め上にふっとばす多くの攻撃判定は、「361°」に角度が設定されています。
「361°」という数字に意味はなく、状況に応じて角度が変化する、特殊な設定であることを示します
(海外勢には通称「桜井アングル」と呼ばれています)。
空中ヒットの場合は常に「45°」で、地上ヒットの場合は、一定のふっとび値未満だと「0°」、一定のふっとび値以上だと「44°」として角度計算が行われます。
この「一定のふっとび値」というのは、筆者調べでは 32 です。
ふっとび値が 32 というのは相当弱いふっとびなので、多くの攻撃判定が桜井アングルでも、実際に 0° としてふっとぶ機会は相当少ないです。
そうなっているとしても、ふっとびが弱いので気づきにくいです。
実はこの技が桜井アングル
-
のニュートラルB(ブラスター):
「リアクション固定値」というパラメーターが設定されている為、%に関係なく弱いふっとびで固定され常に 0° 扱いになります。
ファルコのブラスターが「のけぞりキャンセル」できないのは、 0° 扱いでヒットした瞬間にキャラが浮かないからです。試しにルール設定でふっとびの倍率を上げてみたり、キャラを縮小化してふっとび易くしてみると、 0° ではなくなりのけぞりキャンセルができるようになることが確認できます。
-
色んなキャラの技の斜め上にふっとばせる殆どの技:
上述したように斜め上にふっとばす技はほとんど 361° に設定されています。
注意したいのは、そういった技の持続当て(カス当て)をごく低い%で食らうと、0°扱いになるのでのけぞりキャンセルができないことです。
例えば、の空中ニュートラル攻撃の後半を、0%のときに、アピールしながらスティックを下に倒した状態で食らってみましょう。のけぞりキャンセルできないことがわかると思います。
また、これを更にしゃがみモーション中にくらって「しゃがみ耐性」によってふっとび値を 2/3 にした場合、0°扱いになる上限の%が上がってしまうので「しゃがみ耐性をつけると、のけぞりキャンセルができず、しゃがまずにスティックを下に倒してくらったときよりも逆に硬直が長くなる」という現象も起こります。
ふっとび値の計算について、kadanoの動画の計算式(https://youtu.be/c93Fwem-ngw)では、「与えるダメージ」と「設定ダメージ」を区別してないようですが、どちらが正しいのでしょうか?
加え、R固定値がある場合の計算もkadanoと違うようです。(smashwikiでは全て攻略指南と同じ計算でした(https://www.ssbwiki.com/Knockback#Melee_onward))
質問ありがとうございます。
詳細に検証して回答するのは余裕のあるときにさせていただくとして、0:33あたりで
This chart assumes that w=100 and modifiers
like damage staling, smash charge, interrupted
smash charge, handicap etc. are absent.
とあるので、ワンパターン相殺を考慮していないグラフのようです。
グラフ同様、表示している計算式もこのワンパターン相殺を考慮していないものなのではないか、
という気がします(OP相殺無考慮の実際に与えるダメージ=設定ダメージなので)。
https://kounotori-ssbm.github.io/DXCalc/index_jp.html
このツールを自作したときも、「実際に与えるダメージ」を使って計算させていたかと思うので、
実際に与えるダメージで良い気がするんですけどね。。。