Unity NavMesh サンプル
始めに
次作るゲームで使うパッケージについて調査した。その内容をサンプル化して公開する。
- Unity 2022.3.38f1
- com.unity.ai.navigation 1.1.5
- com.unity.cinemachine 2.10.1
参考
サンプルコード
自己責任でどうぞ。 https://github.com/RyKishita/SampleUnityNavMesh
解説など
- やりたかった事
- 地形のランダム生成
- そのランダム生成されたマップ上で移動経路を計算
- 地形は矩形以外も可能
- “NavMesh Surface”の子にオブジェクトを入れてから Bake する。
- 重なりがあった場合は最も高い場所を優先
- 傾きがあっても良い
- 大きすぎると StackOverflowException 例外
- RemoveUnreachableLocations 及び AddSea の処理で起きるので、不要なら外す。
- (追記:2024/08/10) ロジックを変更して起きないようにした。
- Agent 及び Goal は地形の上に置く。
- OffMeshLink 用に配置しない場所指定もあると良さそうだが未実装