3D 環境で NavGraph を手動で作成しました。私は、「グラフに乗った」ときにグラフを介して自分の道を見つけるための A* ルーチンを理解しています (そして以前に実装しました)。
私が興味を持っているのは、グラフに出入りするための最適な方法です。
例: ルーチンは次のようになります: ソースから目的地まで光線を放ちます。途中に何もない場合は、先に進んでそれを歩きます。
途中で何かがある場合は、グラフを使用する必要があるため、グラフに到達するには、グラフ上で最も近い可視ノードを見つける必要があります。(これを行うために、以前にソースからの距離に基づいてグラフをソートし、障害物がないものを見つけるまで、最も近いものから最も遠いものまで光線を発射しました。)
次に、標準の A* を実行します...
次に、グラフで取得したのと同じ方法 (上記の A* のエンドポイントを計算するために使用) を使用して、グラフを「終了」し、エンドポイントから最も近い navgraph ノードに光線を発射します。
したがって、これがすべて言われて完了するまでに、私のナビグラフが非常に密集していない限り、パスを計算するよりもグラフに出入りするのに多くの時間を費やしました...
より良い/より速い方法が必要ですか? (ある種の空間細分化のトリックはありますか?)