1. 移動量
スティックの入力の度合いを入力量、ヒットストップずらし(以下、SDI)によってキャラがずれる度合いを移動量と呼ぶことにします。
3Dスティック入力はGCにおいて、X軸Y軸ともに8bit(256段階)に分解されます。スティック中心(ニュートラル状態)からの入力量は0~127の範囲です。
移動量は、入力量が真横または真上・真下のように1軸成分のみの場合、最大6.0、最小4.2になります。この数字はスマブラDX内での距離の単位です。比較として、立ち状態のフォックスの身長が約15です。そして、最大の6.0の移動量を得るためには中心から80、最小の4.2では中心から56の入力量だけスティックを倒す必要があります。つまり、最大までスティックを倒し切る必要はありません。
一般的には、移動量は、以下のように計算されます。
1. X軸方向の移動量を0.075*X軸の入力量、Y軸方向も同様に0.075*Y軸の入力量で計算する。
2. √( X^2 + Y^2 )で、スティック中心からの移動量の絶対値を計算する。
3. 2.の結果が4.2未満であれば0.0、6.0より大きければ6.0以下に補正する(同じ中心角で移動量が6.0以下である最大の入力量X、Yを使って2.を再計算する)。
4. Y軸方向・X軸方向ともに、入力量が22以下の場合、その軸方向の移動量を消す。
4.の補正は入力値に対する補正ではなく、移動量に対する補正です。そのため、真横や真上・真下にずらしたいとき、ちょうど最大の6.0の移動量を得るには、入力が軸から少しもずれてはいけません。
第1象限のみの、スティックの入力値と対応するSDIの移動量の絶対値を示した図を用意しました。橙で色付けした部分が移動量の絶対値が6.0以下になる最大の外枠部分で、それより外にスティックを倒したら、その点と中心を結ぶ線上にある橙色の領域に補正(再マッピング)されます。
各点に移動量の絶対値を記した大きな図も用意しました:sdi_map.png
連続でSDIする場合、4成分(X+、X-、Y+、Y-)のうち、前フレームの入力に含まれなかった成分を含んでいる場合に限り、そのフレームのSDIが有効になります。ここで、成分の判断は入力量ではなく移動量の成分から行われることに注意が必要です。言い換えると、あるフレームで真横にSDIを入力し、次フレームで1度だけ高くする(前フレームの入力には含まれなかったY+成分を入れる)ように試みても、それは上図の禁止領域(灰色の部分と、そこから外端まで引かれた線の外側)に属するため、移動量は前フレームと同じになり、そのフレームのSDIは無効になります。よって、所謂半月ずらしが有効であるのは入力量が禁止領域を飛び越える場合に限られます。同様に、入力2成分のうち1成分しか出力されない、軸から約17度以下の領域では出力が1成分になるので、その次フレームに禁止領域を抜ければSDIは有効になります。例えば、(x,y)=(127,38)の次フレームに(127,39)と入力しても、後者は無効にはなりません(ほんのちょっとスティックを動かすだけで、2回分ずれる)。
最外部に沿って入力(入力量127)する場合、禁止領域に引っかからない最小の入力中心角は17.07度です。最外部入力による右側へのSDI(X軸の入力量127)での、Y軸の入力量に対応したマッピング先の橙枠、および必要な入力中心角(これより大きくある必要がある)は次の表のようになります。赤字は禁止領域です。
橙枠X | 橙枠Y | Y軸の入力量 | 入力中心角[度] |
---|---|---|---|
57 | 56 | 125 | 44.54528114 |
58 | 55 | 121 | 43.61408215 |
59 | 54 | 117 | 42.65312571 |
59 | 53 | 115 | 42.16121216 |
60 | 52 | 111 | 41.15396991 |
61 | 51 | 107 | 40.11479743 |
62 | 50 | 103 | 39.04286889 |
63 | 49 | 99 | 37.93739733 |
63 | 48 | 96 | 37.08583549 |
64 | 47 | 94 | 36.50727097 |
64 | 46 | 90 | 35.3237289 |
65 | 45 | 87 | 34.41267868 |
66 | 44 | 85 | 33.79405249 |
66 | 43 | 82 | 32.84908896 |
67 | 42 | 79 | 31.88356387 |
68 | 41 | 77 | 31.22840028 |
68 | 40 | 74 | 30.22837851 |
69 | 39 | 72 | 29.55016402 |
69 | 38 | 69 | 28.51554681 |
70 | 37 | 68 | 28.16606918 |
70 | 36 | 65 | 27.10386707 |
71 | 35 | 63 | 26.38430799 |
71 | 34 | 60 | 25.28796826 |
72 | 33 | 59 | 24.91802252 |
72 | 32 | 56 | 23.79483538 |
73 | 31 | 54 | 23.03504449 |
73 | 30 | 52 | 22.26658827 |
74 | 29 | 50 | 21.4895988 |
74 | 28 | 49 | 21.09794959 |
74 | 27 | 46 | 19.91062613 |
75 | 26 | 45 | 19.51079944 |
75 | 25 | 43 | 18.70520993 |
75 | 24 | 41 | 17.89187713 |
76 | 23 | 39 | 17.07102129 |
76 | 22 | 37 | 16.2428791 |
TODO: 最外部は、通常のコントローラでは入力できないはず。通常の枠について調べる必要あり(16/07/03)。
2. 最適なSDI
同じヒットストップ時間でも、よく移動する方角とそうでない方角があります。最もよく移動するのは、軸近傍のSDIです。45度のような斜めSDIは、禁止領域を超えさせるために望みの向きと大きく離れた入力を繰り返さなくてはいけないため、距離を稼ぐことができません。
長い距離移動させるためには、例えば真横SDIの場合、まず真横に入力し、次から禁止領域をギリギリ超える範囲で往復させるとよいでしょう。地面に成分を消されてそのフレームのSDIを無効にされないよう、真横の次は斜め上に入力すべきと思われます(地面があって実際にキャラが移動できない場合、やはり移動量は補正される)。但し、最初の真横SDIは地上であれば理想的には下成分を入れてはならず、次フレームに上成分を入れるため上成分も入れてはいけないということで、猶予のない極めて難度の高い入力となります。そのため、現実的には1回目から斜め上入力としておくのが安全なSDIだと思われます。これによる損失は大したことはありません。真横から18度離れても横成分は0.951倍されるだけです。
3. 他のケース
フォックスやファルコの上Bファイアも、経験的には同じ入力ルールに従うものと思われます(移動量が短くなったり長くなったりはしないので、図の橙枠の部分のみを参照)。そうであるならば、ファイアの角度は橙枠68*4+禁止領域4で276種類あることになります。余談ですが、地表で下向きに入力したファイアは必ず右向きに発動します。
14/02/11 投稿
16/07/03 全体的に表現を見直し
内容を見直した。
ところで、最近(数年前から?)流行りのシードロノッチみたいな、コンラのノッチ作り改造のネタとして、ヒットストップずらしノッチと遊撃上Bノッチは同じ角度(17~度)を共有できるから、よい。
専門的な知識がまったくないので、動画とかでわかりやすく解説してくださると助かります。
フォックスの上Aもこれを応用すれば2段目のはあたらずにすむっていうことでしょうか??
よろしくおねがいします。
長文すみません、さっきたまたまSDIの紹介がyoutube(http://www.youtube.com/watch?v=ViA08FG3NGI)にあったので見たのですが、この動画にでてきたヨッシーとクッパの下Aを抜け出すときにどういう入力を行っているんですか?
さきほどフォックスの上Aの2段目をさけるときもどういう入力をすればいいですか??
よろしくお願いします。
>フォックスの空中上A
そういうことですね。フォックスとの位置関係やフォックスについてる移動慣性によってもずらすべき方向は違うので慣れが必要ですが。
まず位置関係について。フォックスとの距離が遠ければ(1段目の先端あたりにヒットするようなら)、上にSDIをします。密着して1段目の根本にあたったなら、たいていは横にSDIするのがいいと思います。
次にフォックスに付いている横移動慣性について。ダッシュジャンプしながらの空中上攻撃だとフォックスには横方向の移動慣性がついています。この場合は、フォックスが移動していく方向とは逆方向の横に入力を行います。
上記の「位置関係」「移動慣性」のそれぞれの入力を掛けあわせた方向にSDIするのが理想的なのだと思います。
>URLの解説動画
もしお分かりだったら良いのですが、まず、この解説動画は重要な点でいくつも誤りが見られるので注意してください。ふっとびの方向を変えるのはDI(ベクトル変更)の効果であって、SDI(ヒットストップずらし)の効果ではありません。
何度もずらし入力するときには直前の入力角度と45度以上開けなければならない、というのも、このページを書いてくださった方の説明によると違います。
で、動画のヨッシーをクッパがずらしているときの入力方法ですが、「見た目通り」です。キャラの位置が右にずれていますよね?つまりスティックは右に入力しているということになります。
返信ありがとうございます!
>次にフォックスに付いている横移動慣性について。ダッシュジャンプしながらの空中上攻撃だとフォックスには横方向の移動慣性がついています。この場合は、フォックスが移動していく方向とは逆方向の横に入力を行います。
このことについてなんですが、例えばフォックスが僕の使ってるキャラを上投げするとしたら、理想なのが、
投げられる前に横(右か左)にDIしてそれにフォックスがそれに追って上Aをやった場合(例えば右にDIした場合)、その後のSDIは「先に上を入力して左を入力」したほうがいいですか?「先に左を入力してから上」ですか?
ベストな方法があれば教えてください
フォックスの空中上の1段目はヒットストップが4Fしかなく、つまりそれはSDIの受付幅が3Fしかない(1F目はSDIできません)ということなので、2回SDIするというのは非常に難しいです。
ほとんど無理ではあると思いますが、2回SDIできると仮定すると、その場合は横→上でも、上→横でもずれ方は同じなのでどちらでも構いません。
普通の、フォックスの空中上攻撃1段目を、1度だけでSDIする場合の注意点として、キャラの横幅も重要な要素です。
太いキャラだと横にずらしてもなお2段目の攻撃判定の範囲内であることがあるので、クッパみたいなキャラだと横ずらししても2段目を逃れられなかったりします。
ずらしに上成分を含むのは、フォックス(攻撃側)の空中上Aの攻撃判定の中心が被攻撃側の当たり判定より低い位置に発生した時に有効です。
めり込むように当たるときは(テイルとレッグの発生位置関係にもよりますが)寧ろ横→下(あるいは下→横)のようにずらす方が確実になります。
ただし、上下の意識的な使い分けは%や位置関係、フォックス側の調整によって変わることから難しいと思われます。
現実的にはこうのとりさんが言われているように横にのみずらすか、あるいははじめに真横に入力→17度より僅かに大きく上下に揺らして、約2回の横ずらしに相当するずらし距離を稼ぐことができれば理想的でしょう。
この入力は横→横に上(または下)成分を加えるという操作になるため、
> その後のSDIは「先に上を入力して左を入力」したほうがいいですか?「先に左を入力してから上」ですか?
に答えるとすれば後者に近いものとなります。