DHQの雑記とか

mugen関連でいろいろと

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

押し出し判定について

今回はキャラクターやヘルパーが接近した時に発生する押し出し判定について。
無敵をairファイル側で管理しているキャラや、空ダ持ちのキャラを製作されている方は必ず目を通してください。


接触による押し出しの判定は、全てのプレイヤーおよびヘルパーの処理が終了した後、
ヒット判定が行われる前に行われます。以下はそのフローチャート。


1.playerpushが無効化されているかどうか
playerpushが無効化されていれば、判定は行われません。
ステートコントローラのplayerpushは、
実行したフレームの押し出し判定をスキップする効果があるのですが、
前のフレームでplayerpush実行>相手にめり込んだ状態でステート処理が実行される>フレームの末尾で押し出しによる移動が起こる
ということがありえます。
その結果、画面上ではp2bodydist X=0の状態で立っているように見えるのに、
p2dist Xトリガーが0を返す、ということが起こりうるので、
特にctrlを有効にするフレームなどでは、playerpushの取り扱いに注意してください。

2.CLSN2により規定されたくらい判定が重なっているか
重なっていなければ判定は終了。押し出しは起こりません。
この仕様のため、無敵技などでくらい判定自体を規定していない場合、相手をすり抜けることがあります。
緊急回避や避けなどでは問題ありませんが、無敵対空や無敵突進技などは注意。
必ずairファイル側ではCLSN2を設定し、無敵はnothitbyやhitbyで管理してください。
また部分無敵のためにくらい判定を消している場合も、
相手がその部分をすり抜けることがあります。
playerpushを有効にしたヘルパーを本体に重ねておけば、部分無敵によるすり抜けを防止できます。

3.statetypeとsizeのheightによる判定
一方のstatetypeがAで、一方のstatetypeがSであった場合、
両者のpos Yの差(移動が完了した後の値なので、displayclipboardで取得される値とは必ずしも一致しません)が
statetypeがSになっている方のキャラのheightより大きいと、
くらい判定が重なっていても押し出し判定は行われません。
hightによる判定が行われるのはstatetypeがSの時のみなので、
立っている状態では飛び越えられるがしゃがまれると飛び越えられない、ということも起こります。
また起き上がりモーションのstatetypeはLなので、
完全に起き上がるまでは引っかかるが立ちニュートラルになったフレームで
いきなりすり抜ける、ということもありえます。


CLSN2が重なり合った状態で1~3までのいずれの条件も満たされていないと、
ground.frontおよびwidthで規定された押し出し幅が重ならないように、キャラクターがx軸方向に移動します。
この移動はvelocityには影響を与えません。

  1. 2011/08/09(火) 03:08:43|
  2. mugenの仕様
  3. | トラックバック:0
  4. | コメント:0
<<プレイヤー操作動画上げてみました その15 | ホーム | プレイヤー操作動画上げてみました その14>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://dhq.blog137.fc2.com/tb.php/45-52e1a17b
この記事にトラックバックする(FC2ブログユーザー)

プロフィール

DHQ

Author:DHQ

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

未分類 (0)
お知らせ (2)
mugenの仕様 (16)
mugenのAI (3)
キャラ製作の豆知識 (31)
動画について (32)

FC2カウンター

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

ブロとも申請フォーム

この人とブロともになる

QRコード

QR

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。