スポンサーサイト

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

数フレーム先の敵の距離

基本的にMUGENのキャラは歩きとかダッシュとか等速直線運動がほとんどなので

-(T*enemy,vel x*ifelse(pos x < enemy,pos x, -enemy,facing,enemy,facing)+T*V)

T=予測したいフレーム
V=行動開始後の自身の速度

でなんとかなるかも。注意としては自分は攻撃時には大抵止まってるかといった行動開始する前と後で速さが変わるのが大概なのでVel xの値は使いたい技によって違う定数を入れるのがよい。
そしてこれをp2bodydistなどの値に加算すると先読みで攻撃を出す。
ただしやりすぎると簡単なフェイントだけで誤射すると思うのでrandomなどで制御してやると効果的。

使用例は、
p2bodydist x-7*enemy,vel x*ifelse(pos x < enemy,pos x, -enemy,facing,enemy,facing)<=40

7フレーム後の敵のぶつかり判定の距離が40ピクセル以内のとき となる。

次に等加速度運動の場合。
まあ使う場面は敵の落下時のみかと。それ以外ではまず相手の加速度を算出する必要があるので少々面倒。
abs((1F前のvel x)-vel x)
多分こんな感じでできなくはないかも。でも正直あまり使えない。

しかしyaccelなどの値はconstで読み取れるので予測が容易(空気の抵抗とかないし)。
あとはY方向に対する等加速度直線運動を物理式にして演算。

よって式は
enemy,vel y*T+enemy,const(movement.yaccel)*T*T/2

T=予測したいフレーム

となる。
これをトリガーとして使う場合は
p2dist y+enemy,vel y*15+enemy,const(movement.yaccel)*15*15/2>-30

これで15フレーム後の敵の落下位置が地面から30ピクセルの高さより低ければとなる。
Yは基本上が負の数なので注意。
これと上のxの式も併用するとこちらにジャンプで飛び込んでくる相手をカウンターできるかもしれない。

割と即席で作ったのでミスはあるかもしれない。一応自キャラに搭載して動作は確認済み。

コメントの投稿

非公開コメント

プロフィール

SAIKEI

Author:SAIKEI
MUGEN製作跡地
現在製作はしておりません。
適当にはまってるゲームの攻略記事書いてます。

リンクフリーです

管理画面

キャラ公開
クリップボード01
・ユダ
本体
更新日:13/03/27
sff,sndファイル
更新日:11/03/03 クリップボード01
・ケンシロウ
本体(AI無し)
更新日:12/06/17
sff,sndファイル
更新日:12/05/21
AIが入ってる旧バージョン本体
更新日:12/02/19 クリップボード01
・サウザー
本体
更新日:10/12/26
sff,sndファイル
更新日:10/11/28

・ラオウAI(Ataru氏製)
AI
更新日:10/07/11
SFF修正ファイル
更新日:10/07/11

yukari_20090921184412.jpg
・影紫(09/08/24更新版)
※凶悪キャラにより注意
S-Yukari

・宇宙意思強化パッチ
パッチ
更新日 10/04/04
カテゴリ
月別アーカイブ
ブログカウンター
現在の閲覧者数:
検索フォーム
最新コメント
最新記事
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。