タイトル: ポーンをスポーンさせても視点を切り替えない方法
SEOタイトル: UE5でポーンをスポーンさせても視点を切り替えない方法
Unreal Engine 5(UE5)でゲームを開発する際、ポーンをスポーンさせると、デフォルトの設定ではカメラの視点が自動的に新しいポーンへ切り替わってしまいます。これはゲームの仕様によっては望ましくない場合があり、例えばマルチプレイヤーゲームで特定のポーンをスポーンさせても、プレイヤーの視点を変更したくないといったシナリオが考えられます。
なぜ視点が切り替わるのか?
UE5では、新しいポーンをスポーンすると、Auto Possess PlayerまたはAuto Possess AIの設定によって、自動的にカメラのフォーカスが移る仕組みになっています。特に「プレイヤー0」に設定されている場合、スポーン直後にそのポーンがカメラを持つようになります。
視点を切り替えない方法
視点を変更せずにポーンをスポーンさせる方法はいくつかあります。
● Auto Possess Playerを無効にする
ポーンの設定にある「Auto Possess Player」を「Disabled」に設定することで、プレイヤーの視点が新しいポーンに切り替わるのを防ぐことができます。
● スポーン時に制御を変更する
以下のようなブループリントやC++コードを使用して、新しいポーンをスポーンした後に現在のプレイヤーのコントロールを維持することができます。
ブループリントの場合:
1. 「Spawn Actor from Class」ノードを使って新しいポーンを生成する。
2. 生成したポーンの「Possess」ノードを使用せず、手動でコントロールを設定する。
C++コードの場合:
APawn* NewPawn = GetWorld()->SpawnActor(PawnClass, SpawnLocation, SpawnRotation); APlayerController* PlayerController = GetWorld()->GetFirstPlayerController(); // 既存のプレイヤーが現在のポーンを保持するように設定 PlayerController->SetViewTargetWithBlend(ExistingPawn, 0.0f);
● PlayerControllerのViewTargetを変更する
スポーン後に明示的に現在の視点を変更し、既存のカメラを維持する方法も有効です。
ブループリントの手順:
1. 「Get Player Controller」ノードを取得
2. 「Set View Target with Blend」ノードを使用し、カメラを既存のポーンに固定
まとめ
UE5では、新しいポーンをスポーンすると自動的に視点が切り替わりますが、「Auto Possess Player」の設定変更や「Set View Target」の活用により、意図しない視点変更を防ぐことができます。ゲームの仕様に応じて適切な方法を選択し、快適なプレイ体験を実現しましょう。