グラフ検索クラスでグラフ/ノードをどのように構成しますか? 私は基本的に NavMesh を作成しており、1 つのポリゴンから別のポリゴンへのノードを生成する必要があります。両方のポリゴンを結合するエッジがノードになります。
次に、これらのノードで A* を実行して、最短経路を計算します。クラスとそのプロパティを構造化する方法を知りたいだけですか?
ノードとエッジを備えた完全な無向グラフを作成する必要がないことは確かです。
グラフ検索クラスでグラフ/ノードをどのように構成しますか? 私は基本的に NavMesh を作成しており、1 つのポリゴンから別のポリゴンへのノードを生成する必要があります。両方のポリゴンを結合するエッジがノードになります。
次に、これらのノードで A* を実行して、最短経路を計算します。クラスとそのプロパティを構造化する方法を知りたいだけですか?
ノードとエッジを備えた完全な無向グラフを作成する必要がないことは確かです。
A* に必要なのは、ノードを取得し、そこから隣接ノードのリストを効率的に抽出する機能だけです。どのエッジがどのポリゴンにあるかを追跡するデータ構造が既にある場合、それは簡単に思えます。を受け取り、既存のデータ構造からそのデータを抽出してEdge
返す関数を作成するだけです。IEnumerable<Edge>
Eric Lippert のブログで、A* アルゴリズムに関するこのシリーズを確認してください。彼は、とりわけ、どのようなデータ構造が必要かを説明しています