Unity NavMeshPlus

Unity NavMeshPlus の使い方

NavMeshPlusは、Unityの2D用NavMeshシステム. 

2Dタイルマップ上においてオブジェクトがNavMeshを参照して移動できるようになるのを目指す.

 

実際にナビメッシュを生成する役割を持つ.

空のGameObjectを作成し、Navigation Surface と、 NavigationCollectSources2D を追加.

NavigationCollectSources2D の Rotate Surface to XY を押す.

 

ナビメッシュの生成

「ナビメッシュを生成したくない場所」を表すTilemapRenderer と同じGameObjectに、NavigationModifier を追加.

Override Area = true に設定し、 Area = Not Walkable に設定. 

この状態で、NavigationSurface の Bake を実行すると、Sceneビューでナビメッシュが生成された範囲を確認可能.

ナビメッシュの生成された範囲

C#からナビメッシュの更新を行うには、

NavMeshSurface.BuildNavMesh()

または、

NavMeshSurface.BuildNavMeshAsync()

を使う.

 

トラブルシューティング

ナビメッシュが表示されない

Sceneビュー左下に表示されるウインドウで、 Show NavMesh = true にする.

Show NavMesh = true