※ これは 2021/02/26 時点の Unity 2020.2.6f1 の情報です
最新版では動作が異なる可能性がありますのでご注意ください
前回は Tilemap で背景を作れるようになったので、さっそくねこキャラを動かしてみた

当然ながら木箱のマップチップを置いても無視されて突き抜けてしまう
これを回り込むようにするために NavMesh が必要らしいので、Tilemap に適用してみたい
まずは下記 NavMeshComponents の 2D 対応ブランチをダウンロード
Unity-Technologies / NavMeshComponents
zip を解凍した中身の Assets/Gizmos と Assets/NavMeshComponents をディレクトリごとプロジェクトにコピー

次に Tilemap に使っている Sprite を Sprite Editor で開き Custom Physics Shape のメニューを選択

左端2枚の各チップについて、最初にマップチップを選択、次にマウスドラッグで「通れる範囲」を指定する

通れない範囲ではなく通れる範囲を指定する必要がある
忘れずに右上の Apply ボタンを押下して変更を適用
このままだとほかのマップチップも通れる扱いになるっぽいので、全く通れない残りのマップチップは Colider Type を None にしておく

Unity Editor メニューの [Window] - [AI] - [Navigation] を選択
当たり判定を細かめに判定するため Agent タブを選択して、Radius を 0.05 という小さめの値にしておく

次に Hierarchy 上の Tilemap を選択、Tilemap Colider 2D と Nav Mesh Source Tag 2D のコンポーネントを追加

最後に 新しい GameObject を NavMeshBuilder という名前で追加し、Nav Mesh Builder 2D のコンポーネントを追加し、Bake ボタン押下

これで Scene タブと Navigation タブを開いてみると・・・

きれいに Tilemap にしたがって NavMesh が生成されたっぽい