ホーミング・自動追尾について


ホーミング・自動追尾ってなんぞや?

・よく勝手に追っかけてくるミサイルを”ホーミングミサイル”といいますがそもそもホーミングの意味はなんでしょう

「きっとホームのING系なんだろうなぁ。」と根拠も無いのになっとくしてる人は結構いると思います。

とりあえずhomingを翻訳ソフトにかけてみると「家に帰る」という、あ!あってるかも?という気になってしまうから不思議です。

つまり家に帰るようにふらふらと戻ってくる(正確には追ってくる)雰囲気からそうなっているのでしょうか?

英語経験者にぜひ聞いてみたいもんです。


ホーミング・自動追尾の定義

・ホーミングは動きの定義をします

 

1:放たれた物は相手に向けて進む

2:相手に常に軌道を修正しながら進む

 

@はあたりまえですがAは”常に”と言う点が曲者です、相手はジャンプやしゃがみを使いますし、避けを使って避けるかもしれません

というわけで常に軌道を修正しなければならないのでヘルパーを使います

ヘルパーは初心者以前の私なので今回は臨時講師のTinさんとKMさんの解説を写植したいとおもいます(笑)

そろそろ自分もヘルパー使わないとやってけないことがわかってきました、どうしよう(爆)


ホーミング・自動追尾を作る:by Tinさん KMさん

・今回説明するのは「相手に軌道を修正しながら進む方法」です。

これができれば何にでも応用が効くのでぜひオリジナルになるよう頑張ってください。

[State 200]
type = Velset
trigger1 =P2BodyDist X > 0
x= 1

[State 200]
type = Velset
trigger1 =P2BodyDist X < 0
x= -1

[State 200]
type = Velset
trigger1 =P2BodyDist Y > 0
y= 1

[State 200]
type = Velset
trigger1 =P2BodyDist Y< 0
y= -1

このようにすると見て分かるとおり、相手の状況で常に変化に対応できるのがわかりますね?

これでホーミングの完成です・・・・と、言いたい所ですがこれでは問題が発生してしまいます、なんでしょうか?

実際にこれをつくってみるのも良いかもしれません、解決編はこの下です。↓


ホーミング・自動追尾を作る:解決編

・さぁ?わかりましたか?完璧にも見えたこのステートにも穴があるのです。

それは「ホーミングは相手の軸に向かって飛んでいく」と言う事です。基本的に軸は相手の足元、Y=0の所に向かう事になり

ミサイルは地を這うように飛んでいくのです、これではカッコ悪いですね?

ならばここで考えるのは「一定より下に行かないようにする」ことです、なのでこのステートも追加します

[State xxx, x]
type = posadd
trigger1 = P2BodyDist y > -*←ここに飛び道具にこれ以上下がって欲しくない値をいれます。
y = -1

これで相手に向かって飛んでいくホーミングの完成です。

Tinさん、KMさん、ご協力ありがとうございましたー


ホーミング・自動追尾を作る:by Ayustatさん

・これは一風変わった半ホーミングの作り方です、まずはAyustatさんに礼。

しましたか?では進みましょう。

このホーミングはただ追っかけるだけのホーミングとはわけが違います、シューティングの弾なんです。

みなさんグラディウスをそうぞうしましょう、超兄貴でも可

シューティングの弾は自機を追いかけたりはしないが見当はずれの所にも撃ちませんね。

敵は弾を撃つ瞬間に自機が居るところを撃ちます、だから移動すればそれらはよけられるのです。

その公式はこれだ!

 

offset = A , B;飛び道具を発射する座標とします

飛び道具の速さをVとすると、

velocity = V*((p2dist x - A)/(abs(p2dist x - A) + abs(p2dist y - B) + 0.0000001)),V*((p2dist y - B)/(abs(p2dist x - A) + abs(p2dist y - B) + 0.0000001))

0.0000001は分母が0になるのを防ぐために足します。

p2dist yとBは大抵マイナス値になるでしょうから(MUGENは上方向をマイナスとみなすので)

実際に記述する際はBの前の符号はプラスになることにご注意ください。

 

すげー

この公式を発見した瞬間トマス・ジェファーソンとタメぐらいにえらいですAyustatさん。

トマス・ジェファーソンですか?有名ですよ、何したか知らないけど。

弾ヘルパーを出したらコレを書けば一度相手を狙って撃った弾がずっと飛んでいきます。

Ayustatさん、ご協力ありがとうございましたー


はい、ホーミングも終了しましたね、これを使って地球はピクシオマを作ろうと思ってます

え?ピクシオマですか?魔法です、以上(笑)

次は未定ですが応援もいっぱいあったのでがんばります。

そういえば「なんたらバニーフード」のホーミングはすごいですね、知ってます?