たまたま見つけたこの動画のお陰で、ECB Bottom(存在判定の下部、以下 ECB-B)の性質について分かり、これまで見たことはあったが詳細が分からなかったものが理解できたので、備忘録がてら説明を簡単に書いておきます。
まず大前提として、ECB とは存在判定のことです。オブジェクト判定と言ったりもしますが、要するにそのキャラクターがそこに物として存在することを示す判定のことです。これがあるから、キャラ同士がぶつかったときに押し推し合ったり、ダッシュして壁にぶつかったらぶつかったモーションをとったり、壁に近づいていってもめり込まなかったり、空中から地面に近づいたら着地するわけです。
スマブラDXでは、存在判定は内部的にはひし形で表現されています。デバッグモードにしてデバッグ表示すれば見ることができます。動画で解説がありますが、黄色いものが現在のフレーム、オレンジのものが前のフレームの存在判定です。青いのは基本的にはほぼオレンジと同じですが若干違いがあるらしいですがおれもよく分かっていないし、今回あまり重要ではないので割愛します。
存在判定は、そのときのキャラクターのモーションによって基本的には決まります。
SSBM | The mechanics behind advanced platform tech https://t.co/zAEGSvSDxw
古い動画なのに殆どの人がしらない ECB(存在判定)まわりの実用的な知見が詰まっていた素晴らしい動画だった— Kounotori 》M.Hand (@Kounotori_ssbm) 2018年3月6日
さて、上の ECB-B の動画は、存在判定の下の部分についての動画です。先述の通り、ECB-B の Y 座標が、地面の上からその地面の Y 座標を下回ろうとすると着地になります。これが着地という現象の本質です。
動画で様々な着地の為のテクニックが紹介されていますが、前半の Aerial Interruput などは特定の行動をとると、ECB-B が直前より低くなるのを利用して、上昇中で本来そのまま台を上に通り抜けていってしまうところを、ECB-B を台に触れさせて無理やり着地するものです。
後半からは次の特殊な ECB-B の性質を利用したものです。
- 「空中に飛び出したとき」と「空中ジャンプをしたとき」だけ(※1)、9F の間(※2)、ECB-B の位置(そのキャラクターの存在判定の中心からの相対的な位置)が、それらを行った直前の ECB-B の位置で固定される
- 9F 目の次のフレームから、そのモーションの本来の ECB-B の位置に更新される
(ヒットストップ中もこの 9F のカウントは続き、ヒットストップの最中でも時間が立てば本来の ECB-B になる)※1: 動画では挙げられていなかったが、崖掴まりもその対象になっていると思われる
※2: 空中に飛び出したとき・崖掴まりをしたときは、10Fっぽい
「ドロップキャンセル(一部のキャラで、台上から台すり抜けをして即一部の空中攻撃を出してヒットさせると、すり抜けようとしていた元の台に着地するテクニック)」、「台の下で空中ジャンプをして、その上昇中に空中攻撃を出して、攻撃をヒットさせると、上昇中だったのに台に着地する」などの現象は、全てこの仕様に依るものだったのです。
ちなみに、動画でも言っていた通り、の3キャラだけは例外で、この「ECB-B 一時固定」はないそうです。nothingさんによると、これらは「常時 ECB-B が固定されている」ということだそうです。
ECB-B の性質を理解したので、こういうことができるんじゃね? と思ったら確かに作れました。
ECB Bottom is awesome! pic.twitter.com/l762EEEieY
— Kounotori 》M.Hand (@Kounotori_ssbm) 2018年3月6日
通常ではあり得ない「ヒットストップで静止した中でのモーション変化」がおもしろい。
つまりこれ1F得してるってことだよな pic.twitter.com/AvnBcfp4UH— Kounotori 》M.Hand (@Kounotori_ssbm) 2018年3月6日
「挙げた動画の何分何秒のところはこういうこと? どういうこと?」という疑問があれば、この記事にコメントを付けてくだされば回答するので是非どうぞ! また間違いがあれば指摘もおまちしています。
なるほど、ゲーム内速度の数値はあまり知ってても意味なさそうなのでこういうのは感覚的に覚えようと思います。ありがとうございました。
動画の1:40でNILが起こる条件が説明されていますが、そこで言っている「Velocity of ≧-1」とはどのくらいの速さを指すのでしょうか?
ゲーム内で具体的に速度1を挙げるのはむずかしいですね…笑
現実世界で例えると、ボールを宙に投げたときに描く放物線の頂点から落下が始まるあたりの、殆ど縦に動いていないときのようなイメージです!