まとめ
- Tilemapはマップ用とNavMesh作成用で分ける
- NavMesh作成用のTilemapをゲーム開始時に非アクティブにする
解説
Nav Mesh Builder 2DでNavMeshを作る際、通れる場所にColliderが割り当てられたタイルを張る必要がある。
しかし、Colliderが割り当てられたタイルの上は普通は歩けないためマップ用とNavMesh用のTilemapに分け、ゲーム開始時にNavMesh用のTilemapを非アクティブにすることでうまくいく。
正面から見た図
斜めから見た図
Builder2DでのBake後
ゲーム開始と同時にNavMesh用のTilemap GameObjectを非アクティブにするスクリプトをアタッチ。
using UnityEngine;
public class DisableWhenStart : MonoBehaviour
{
void Start()
{
gameObject.SetActive(false);
}
}
ゲーム開始時
NavMesh自体は存在したまま、NavMesh用のTilemapは非アクティブになるためプレイヤーや敵キャラが自由に動ける。