DHQの雑記とか

mugen関連でいろいろと

スポンサーサイト

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

毎Fhitdef更新のススメ

カウンターヒットやコンボ補正、追撃制限をフレーム単位で
反映させたい人向けのhitdefの記述方法の紹介。


animelem = 3などだけでhitdefを実行した場合、hitdefのパラメータは
ステコンが実行された時の数値で固定されます。
そのため、コンボが途切れた場合にも補正が持ち越されたり、
相手がニュートラルに戻っているにも関わらず、
カウンターヒット時の挙動になってしまったりということがあります。


以下はanimの3枚目と4枚目に攻撃判定がついている攻撃の場合の記述例。


[state 200, hitdefかき消し]
type = hitdef
trigger1 = !movereversed
trigger1 = animelemtime(3) >= 0 && animelemtime(5) < 0
attr = S,NA
hitflag =
ignorehitpause = 1

[State 200, 攻撃用hitdef実行]
type = hitdef
triggerall = !movecontact && !movereversed
trigger1 = animelemtime(3) >= 0 && animelemtime(5) < 0
attr = S, NA
;攻撃用hitdefの各種パラメータ省略
ignorehitpause = 0

攻撃用hitdefのtrigger1を見ての通り、攻撃判定の持続中は常にhitdefを実行し続けています。
このままでは多段ヒットしますが、!movecontact && !movereversedを条件に加えることで、
一度相手に攻撃が当たる、ガードされる、もしくは当身を取られた後は、
hitdefを追加で実行しないようにします。

ただし、一度実行されたhitdefは、changestateがかかるかmovetypeがIになるか
hitdefもしくはreversaldefを実行するまで消えません。
カウンターヒットや補正ならまだいいのですが、追撃制限目的ですと
本来当てたくないタイミングでも攻撃が当たってしまうため、
hitdefをかき消す必要があります。

そこで、相手側のreversaldefやenemy,hitdefattrトリガーを正常に機能させるため、
hitflagを空に、attrを攻撃用hitdefと同じパラメータにしたhitdefを実行して
攻撃用のhitdefを毎Fかき消し続けています。
かき消し用hitdefにignorehitpause=1を付けているのは、
ヒットストップ中に他の相手を巻き込まないようにするための処理となっています。

なお、ひとつのステートに複数個hitdefを置く場合はmovecontactなどが使えなくなりますので、
!movecontact && !movereversedのかわりに変数を使うことになります。movehitresetはおすすめしません。

この記述にも難点があり、一度hitdefが当たった後は持続が当たらなくなります。
同一フレームでの巻き込みでは当たるのですが、持続は当たりません。
また、mugenの都合上、同一フレームで他のhitdefが当たった場合には追従できません。
したがって、飛び道具と重ねた場合などには機能しないことがあります。

  1. 2014/04/12(土) 10:40:38|
  2. キャラ製作の豆知識
  3. | トラックバック:0
  4. | コメント:0
<<120~152番anim作成時の注意点 | ホーム | 本体hitdefの設定指針>>

コメント

コメントの投稿


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

トラックバック

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

プロフィール

DHQ

Author:DHQ

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

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

FC2カウンター

検索フォーム

RSSリンクの表示

リンク

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

ブロとも申請フォーム

この人とブロともになる

QRコード

QR

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