UE4 Navigationができない時に確認すること
何度もNavigationができたりできなかったりして、いい加減嫌になったので本腰をいれて調べてみました。
Navigation(static)が使えるのは以下の条件をすべて満たしている時になります。
- AIControllerを持つPawn
- UE4が用意したMovementComponentを持つPawn
- CharacterMovement か FloatingPawnMovement
- NavMeshBoundsVolumeが「常にロード」になっているLevelに配置されている
以上です。
サブレベルを使ってシーン遷移を実装していると、3番目の条件がかなり罠で、自分が悩まされていた原因でした。複数のNavMeshBoundsVolumeを切り替えながら使うということもできません。NavMeshBoundsVolumeがマップごとに変化する場合は、OpenLevelを使って遷移しないとダメなようです。
なお、NavigationをDynamicにした場合はゲームが実行されてからNavMeshが計算されるので、この限りではありません。