2016-04-29 28 views
0

私は現在、RTSゲームを統一しており、障害がある連続2次元平面上の2点間の最短経路を計算する方法が必要です。連続探索空間のための経路指定アルゴリズム?

私は開始位置、終了位置、および位置が有効かどうかをテストできる関数を持っています。私は目的地に到達するために移動するポイントのシーケンスを返すアルゴリズムが必要です。

私が知っているA *やIDA *のようなほとんどの経路指定アルゴリズムでは、離散化された検索スペースが必要です。私は飛行機を自分でグリッドに分割しますが、斜め方向に移動するときには、ジグザグのパターンが実際に不自然になる恐れがあります。この問題や、私が使うことができる別の経路指定アルゴリズムを緩和する方法はありますか?それは絶対最短経路、つまり理にかなった経路を見つける必要さえありません。

+1

おそらくgamedev.SEでより良い解決策が見つかるでしょう。私が今までに見たすべての実装(それほど多くない)は、空間内に任意の「ノード」を置き、離散化します。あなたの地形とノードのプレースメントをスマートに(そして寛大な)使っているなら、やや自然に見えます。 – Mephy

+0

あなたが望むのは、ナビゲーションメッシュで、その上にA *(または同様のもの、すべての仕事)を使用します。手作業で作成することから完全自動化ソリューションに至るまで、多くの方法があります。これらのすべてがこのフォーマットで詳しく説明するにはあまりにも多くの方法があります。しかし、ウェブ上には多くの記事があります。 Unitysの組み込みナビゲーションソリューションを使用できないのはなぜですか? – yes

答えて

1

平面探索に興味のある点(境界ボックスの隅のみなど)を考慮し、すでに知っているアルゴリズムを使用して探索空間を離散化する方法があります。

グリッドで計算し、グリッド上の最適なパスを滑らかにすることもできます。

関連する問題