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を使う方が時間短縮になります。
ただし、複雑なゲームになった場合に実用可能かは未知です。