【UE4/UE5】ゲームモードが初期設定のGameModeの場合、カメラ位置・回転の指示はDefaultPawnに対して行う
対処法を忘れた頃にアレっ?ってなってしまい無駄な時間が発生するためメモ。
今回とりあげるのが、プレイヤーカメラの位置や回転を直接指示しようとしても機能しない現象です。
現象
UE5を起動するとデフォルトのゲームモードはGameModeというものに設定されていますが、このときにGetPlayerController()
をしてSetActorLocation()
を呼んでも移動してくれないんですよね。
原因
座標の指示の相手先が誤り。
デフォルトのゲームモードがGameMode
の場合はプレイヤーカメラの制御は実質的にDefaultPawn
というアクターが握っていますので、DefaultPawn
アクターの位置や回転を指示することになります。
対策
GetPlayerController()
ではなくて、GetPlayerPawn()
を呼んで、SetActorLocation()
する。
見つけ方のコツ
Play後にアウトライナーで直接アクターを選択しては位置
を変更してみて視点が移動するアクターを探す。