GameProgrammar's Night

ゲームプログラム系の覚え書き

UE4 Navigationができない時に確認すること

 何度もNavigationができたりできなかったりして、いい加減嫌になったので本腰をいれて調べてみました。
 Navigation(static)が使えるのは以下の条件をすべて満たしている時になります。

  1. AIControllerを持つPawn
  2. UE4が用意したMovementComponentを持つPawn
    • CharacterMovement か FloatingPawnMovement
  3. NavMeshBoundsVolumeが「常にロード」になっているLevelに配置されている

以上です。
 サブレベルを使ってシーン遷移を実装していると、3番目の条件がかなり罠で、自分が悩まされていた原因でした。複数のNavMeshBoundsVolumeを切り替えながら使うということもできません。NavMeshBoundsVolumeがマップごとに変化する場合は、OpenLevelを使って遷移しないとダメなようです。
 なお、NavigationをDynamicにした場合はゲームが実行されてからNavMeshが計算されるので、この限りではありません。