ゲーム開発における航空機誘導方法

画像



1年前、私はモスクワ航空研究所を卒業し、資格「エンジニア」を取得しました。 しかし、その時までに私はすでに1年間プログラマーとして働いていて、この分野で働き続けることを知っていたので、「クラスト」を得ることは、私の多くのクラスメートとは異なり、私にとってターニングポイントになりませんでした。 4〜5コースで得た知識はかなり興味深く、視野を広げたように思えましたが、プログラマーとして働くにはあまり有用ではありませんでした。 しかし、私の仕事に役立ついくつかのトピックがあります。 そのうちの一つについてお話ししたいのですが、彼女の名前は航空機の誘導方法です。



私たちのコースでは、航空機は常に誘導航空機ミサイルを意味し、ほとんどの場合は空対空タイプでした。 標的にミサイルを向けるということは、標的と会うエリアにあるように飛行を制御することを意味します。 もちろん、目標はこの会議を望まず、さまざまな操作を実行できます。



それでは、ガイダンス作成方法はゲームの構築にどのように役立つのでしょうか? 最初に思い浮かぶ主なことは、ゲーム内の1つのオブジェクトを別のオブジェクトと衝突するように制御することです。 たとえば、プレイヤーの敵が発射したホーミングシェル、または空間を移動するオブジェクトを収集するボット...まあ、またはロシアのAIカップ2014でホッケーボットを制御して、パックをすばやくつかんだり走ったりして対戦相手を倒したりします)。



座標は連続的にではなく、離散的に変化するため、目標のあるオブジェクトの円は、ステップ内を移動し、ターゲットの座標の中心にある半径のある円と見なされます。



だから、最も簡単なガイダンス方法から始めましょう。



ダイレクトポインティング方式



原則は、ゲームサイクルの各ステップで、オブジェクトがターゲットを直接努力する(「見る」)ことです。



画像



この画像では、オブジェクトが常にターゲットを「見ている」という事実にもかかわらず、速度ベクトルが常に視線と一致するとは限らないことを示しました。



これは、考慮された方法の中で最も非効率的な方法です。これにより、誘導されたオブジェクトの最長かつ最も湾曲した軌道が得られるためです。 また、この方法は、中断ガイダンスの確率が最も高くなります。 ただし、この方法はそれ自体に非常に適用可能です-たとえば、プレイヤーがロケットから逃げるために一生懸命に負担をかけたくない場合。 さて、または実装するのに30秒しかありません。



追跡方法



この方法が各ステップでガイドされる場合、オブジェクトはターゲット(視線)への速度ベクトルと方向が同じでなければなりません。



画像



犬は狩りでこのように狩りをするので、追跡方法がその名前を得たという噂があります。 この方法は非常にシンプルで、直接誘導方法よりもわずかに優れた結果が得られます。



オブジェクトが即座に速度を上げたり下げたりする場合、上記の2つの方法は同等です。 これらのメソッドには両方とも変更があります。オブジェクト(速度ベクトル)はターゲットに直接送信されるのではなく、特定のリード角で送信されます。 これにより、軌道の曲率を小さくできるため、誘導の効率が向上します。 自動誘導を備えた最初の誘導ミサイルは、これらの方法を正確に使用していました(たとえば、アメリカのミサイルSidewinderは、一定のリード角の追跡方法を使用していました)。



並列アプローチ法



この方法では、オブジェクトは常に、ターゲットの視線の角度(つまり、オブジェクトとターゲットのライン)を維持するように努めます。



画像



ターゲットが直線的に均一に移動する場合、オブジェクトは最も効率的な経路に沿って(直線で)移動し、ターゲットまでの飛行時間は最小になります。 したがって、この方法はこれらの中で最も効果的です。 ソフトウェアの実装は実際の実装よりもはるかに単純であるため、特に頻繁に使用します(測定エラーがなく、計算された軌跡と実際の軌跡の間に不一致はありません)。



比例アプローチ法



この方法を使用すると、オブジェクトの速度ベクトルの回転角速度は、ターゲットの視線の回転角速度に比例します。つまり、次のようになります。



画像



この場合、係数Kは経験的に選択できます(通常は数単位です)。



実際、この方法は一般的なガイダンス方法です。 実際、比例係数Kを1にすると、追跡法が得られます(速度ベクトルは常にターゲットに向けられます)が、K =∞にすると、並列アプローチ法が得られます。



実際、ここでガイダンス方法のレビューが終了します。



この記事が役に立つか、うまくいくか、少なくとも興味がないわけではないことを願っています。



All Articles