NavMeshPlusとは
Unityの2DでNavMeshを使うためのサードパーティーのコンポーネント群です。
Tilemapから2D用のNavMeshを生成できます。
Unityを使った2DゲームでNavMeshを使いたい場合に便利です。
https://github.com/h8man/NavMeshPlus
ただし、Unityの2DのXY平面から、NavMesh生成のためにXZにする必要があります。
公式で2D用NavMeshを見つけることができないので、我慢して使うことになります。
使い方
以下のURLからzipをダウンロードして、NavMeshComponentsを自分のプロジェクトのAssets以下に追加します。
https://github.com/h8man/NavMeshPlus
手順
- 空のゲームオブジェクトを作成してNavigation SurfaceとNavigation CollectionSource2dをアタッチ
- Rendererと同じゲームオブジェクトにNavigation Modifierをアタッチ
- Tilemapを使っている場合は、Tilemap Rendererと同じゲームオブジェクトにNavigation Modifier Tilemapもアタッチ
- Navigation Modifier Tilemapをアタッチすると自動でNavigation Modifierもアタッチされます
- Navigation Modifier TilemapのTile ModifierにBake対象のTileを設定
- アタッチしたNavigation ModifierのOverride Areaにチェックを入れて歩けるかどうかなどのArea設定
- Navigation SurfaceのBakeを押下
- Navigation Surfaceの設定項目はほぼ3DのNavMeshSurfaceと同様
注意
XYをXZに変更しているのでキャラクターやオブジェクトの回転も合わせる必要があります。
何もない状態からスタートするよりはNavMeshPlusを使う方が時間短縮になります。
ただし、複雑なゲームになった場合に実用可能かは未知です。