私は現在、敵が従う静的な所定のレーンを使用して2Dタワーディフェンスゲームを作成しています(つまり、タワーはパスをブロックできず、パス検索は解決しようとしている問題ではありません)。
私は、ユニットがこのレーンをスムーズに進む方法を正確に理解しようとしています。私はこれを行う方法について2つの大まかなアイデアを持っていますが、実装が容易である/より標準的なテクニックである可能性が高いいくつかの入力が好きです。またはもちろん、まったく考えていない方法がいくつかある場合は、それについても学びたいと思います。
ウェイポイント: 私の最初のアイデアは、パスを一連のハードコードされたウェイポイントとして定義することでした。次に、ユニットは基本的な「シーク」ステアリングアルゴリズム(このアルゴリズムなど)を使用して、パスに沿った各ウェイポイントに連続して移動します。しかし、ユニットが私が従うべきレーンから大きく逸脱しないようにするのは難しいのではないかと思いました。十分に鋭く曲がることができないと、希望のレーンから「滑空」する可能性があるのではないでしょうか。比較的強い操舵力をかけることでそれを防ぐことができるのではないでしょうか?
ベジエ曲線: 私が検討した2番目のソリューションは、ベジエ曲線でパスを定義し、各タイムステップでユニットの現在の位置から(dt *速度)離れた曲線に沿ったポイントを計算することです。このテクニックを使用すると、ユニットがたどるパスを正確に定義することがはるかに容易になると思いますが、これを実装する方法を正確に知ることはできません。助言がありますか?
また、これで誰かの答えが変わることはありませんが、ユニットはパスに沿って一定の速度で移動できなければなりません。さらに、私はpygletフレームワークを使用してこのゲームをpythonでプログラミングしています。
質問について不明な点がある場合はお知らせください。
編集:また、その価値にかかわらず、私は王国ラッシュでの敵の移動行動を再現しようとしています。