2D RTSでの作業を計画して、Astarがどのように機能するかを学ぼうとしました。実際、Astarをバイナリヒープと組み合わせて最適化する方法や、 JumpPoinSearchアルゴリズムなどのパス対称性を利用するアルゴリズムを説明する記事を見つけました。ジャンプポイント検索を実装しようとしましたが、正常に実行されます。私はMovingAIのマップを使っていくつかのベンチマークテストを行いました。
しかし、問題があります。斜めの動きが許可されている場合、すべてが正常に実行されます。無効にされている場合、パスは返されません。
それは私がそれを実装した方法に関連しているかもしれません、そして私はすべて尋ねています...一般的に、あなたは目標に到達するために(斜めの動きではなく)まっすぐな動きだけを含むパスを検索するようにアルゴリズム(JPS)にどのように義務付けますか?