A* Pathfinding Projectを試す。その2
A* Pathfinding Projectの経路探索を実際に使ってみるメモ。
今回はGrid Graphを試す。
ちなみに、機能を理解しているわけではないので何が起こるかわからない所がある系の話があるらしい。
あしからず。
とりあえずマップ作成。これは別にStaticで構成する必要は無いっぽい。
でも動かないオブジェクトはStatic推奨だったような気がするのでStatic。
次。経路探索を管理するオブジェクトが必要っぽい。
Exampleでは
A*って名前のGameObjectを作成し、
Pathfomderを適応させてたので、そのように。
場所はComponent→Pathfinding→Pathfinderにあり。
次。Pathfomder(なぜか表示スクリプトはAstar Path)のGraphにGrid Graphを追加。
でGrid Graphを開いて特定のパラメータを設定。
・Node Size(各ノードの半径。大きいと細い道を通らない。細かいと重い)
・Max Climb(登れる高さ?0だとどこでも登れる?)
・Erode iiterations(よくわからない。設定しないと崖から転落死)
次、グリッドを設定する範囲を指定。
A*を選択した後にスケール変更モードで範囲を設定すると広がる。
青い網が移動範囲で、赤い点が停止位置だと思われ。
よく見れば分かる通り、屋根にコリジョンがある所は上手く設定できてない。
もしかしたらマスクの設定で上手く動くかもしれない。
最後にエージェントを追加。
まずComponent→PathfindingにあるSeekerを、移動させるオブジェクトに付与。
これが移動エージェントになるらしい。
で、ターゲットを指定するスクリプトを設定。
作り方がよくわからないのでExampleにある奴を拝借。
インポートしたファイル一覧の中にある
Plugin→Astar PathfindingProject→ExampleScenes→AlFollwを
Seekerを付与したオブジェクトに付与。
で、AlFollwのTargetってパラメータに移動先のTransformを指定。
最低限これで動くみたい。
ちなみにオブジェクトを動かしてもScanすれば避けて通ってくれるみたい。
参考URL:http://softimage-houdini.blogspot.com/2011/06/unityastarpathfinding.html