ナビゲーションメッシュのパス検索はどのように機能しますか?


27

navmeshesがどのように機能するか、どのように実装するか、なぜ他のタイプのパスシステムよりも優れているのかを理解したいと思います。


これは私の朝のインターネット放浪の過程で明らかに なりました:aigamedev.com/open/reviews/alienswarm-node-graph読む価値があるかもしれません:-)
coderanger

このチュートリアルは、この投稿に出会ったUnityユーザーに役立つかもしれません:binpress.com/tutorial/unity3d-ai-navmesh-navigation/119
MichaelHouse

回答:


6

ウェイポイントのパスファインディングと同じですが、ウェイポイントの代わりにウェイポリゴンがあり、そこからナビメッシュに関するいくつかのことを推測できます:

  • ウェイポリゴンは、エンティティが安全に歩くことができる領域です
    • 他の領域はおそらく考慮すべきではありません
    • ウェイポイントは、それらの間の空間に信仰の跳躍をする必要があります。NPCが壁に引っかかっているのを覚えていますか?2つのウェイポイントが直接接続されていない場所でした。
  • 潜在的に少ないノードがあります(ポリゴンが大きいため)
    • したがって、おそらくより高速です
    • したがって、メモリ要件が小さくなる可能性があります
  • それはより現実的です(なぜなら、ポリゴンの面積には理論上無限の量の点が含まれているからです)
    • ポリゴンでNPC間の衝突を避けるために、いくつかの群れ行動をするかもしれません

2

一般に、これらは何らかの強化されたA *アルゴリズムで使用されます(3D経路探索のジャンプリンクまたはフライリンクを考慮に入れます)。そのように、実際には他のシステムとは異なるシステムではなく、通常の経路探索ネットワークを高ポリ(比較的話す)環境または地形から直接生成する方法です。何らかの理由でここではビーコンと呼びますが、考え方は同じです。ある種の自動化されたプロセスが各マップで実行され、合理的な時間枠でA *を実行できる単純な接続のセットを生成します。生の基礎データに対してパスファインディングを試みた場合、メッシュの密度のためにゲームには遅すぎます。


これは、単純化されたメッシュで行われることを除いて、ウェイポイントグラフではありませんか?navmeshesを使用すると、ポリゴンでパスを作成できると思いました。
火災

簡略化されたグラフを使用すると、長距離のパスが可能になり、通常、短距離は別の方法で処理されます。Valveのシステムは、両方のメッシュデータを異なる方法で使用しているようです(スーパーノードルーティングとローカル制約)。
coderanger

接続の単純なセットはnavmeshではありませんか?ポリゴンでパスを行うため、navmeshと呼ばれると思いました。
火災

ここでは、ローカルナビゲーションとグローバルナビゲーションは関係ないと思います。
火災

1
隣接するポリゴンのセットは、設定されたウェイポイントのようなグラフであり、同じ方法でA *を実行できます。唯一の違いは、どのポリゴンを移動するかを知ってから、線を別々に描画することです。
coderanger

0

できる方法はたくさんあります。A *などは適切なオプションですが、ドキュメントが不足しています。マップの周りにノードを準ランダムに配置し、どのノードがお互いを見ることができ、ノードの小さなウェブを構築できるかをチェックすることができます。最適ではありませんが、理解しやすいです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.