私はスタークラフト2のパスファインディングのようなものを実装する方法を理解しようとしています。群がったり、キューイングなどのすべての洗練された機能を探しているわけではありません。その他。しかし、私はスターファインダー1で使用されているものよりも優れたパスファインダーを求めています。
グーグル検索から私が行ったさまざまな答えは、ナビゲーションメッシュ上のA *と何らかの関係がある、および/またはある種の「可視性グラフ」を扱うことです。しかし、私は何をすべきかについて、いくぶん矛盾するか不明確な答えを得ました。
私が読んだことの1つは、三角形メッシュ(ナビゲーションメッシュ)の頂点に対してA *を実行することに関係しています。そして、どういうわけか私は方法を知らない「道をまっすぐにする」。しかし、それは最適性を保証するものではありませんよね?
私が持っていた別の質問は、スタークラフト2パスファインディングは、ユニットがコーナーを扱うときにポイントではなく、有限の半径を持つディスクであるという事実をどのように扱うのですか?また、アイドルユニットや他の移動ユニットなどの動的な障害に対処する方法。
検索結果でよく見られる一般的な超高レベルの概要ではなく、詳細な説明を探しています。
それが重要である場合、私はすでにパスファインディングに関するアミットのノートを見ました。私は聞いたが、計算幾何学:アルゴリズムとアプリケーションは読んだことがない。また、GDC 2011でのAIナビゲーションプレゼンテーションに関するブログ投稿では、Starcraft 2がnavmeshに制限付きのドロネー三角形分割を使用していると述べています。ブログの投稿ではBoidsステアリングと「地平線分析」について触れていますが、navmeshでコアパスファインディングがどのように行われるかについては正確には触れていません。