Unity Create a Game Series (E11. map navigation)をやってみました。

Unityのナビゲーション・探索システムでは、フィールドにBake(焼く)ことで、NavMeshAgentがそのフィールドを移動でき、NavMeshObstacle(障害物)を用意することで、その領域を移動できなくします。

ナビゲーションの設定は1つ1つのタイルに対して行うのではなく、1つ大きな100×100などのQuadを用意して、そこにBakeします。ちょうど以下のような感じです。NavMeshObstacleコンポーネントが付加されているオブジェクト移動できなくなるため、灰色になり、移動できるところは水色になります。

002
フィールドの外側に最大マップ領域を作ってNavMeshAgentが移動できるようにする

このままでもよいですが、今回は最大領域から落ちたりしないように、四方をマスキングしました。

003
NavMeshObstacleでマスキングして、移動できないようにする

まとめ

マップを自動生成して、NavMeshAgentが移動できるようになったのであとは細かい修正を残すだけとなりました。

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA