ゲーム開発を試してみようと思い立ち、Unreal Engine 5をインストールして開発する過程で調べてみた部分を備忘録的に投稿します。今回はアクションゲームなどに実装されている銃を装備した際に視点を切り替える方法です。
切り替える視点の座標を取得
最初に切り替える視点でキャラクターをフォローするカメラの座標を取得します。
1.[BP_ThirdPersonCharacter]を開いて[コンポーネント]画面で[FollowCamera]を選択します。
2.[詳細]画面の[トランスフォーム|位置]や[回転]を変更してキャラクターの視点を切り替えた後の座標を調整します。
3. 今回は下の画像のように変更しました。
4. コンパイル後に実行して[プレビュー]画面で視点を確認します。
4. 確認したら[トランスフォーム]で変更した座標をメモして、初期状態に戻します。
キーボードから視点を切り替え
今回はサンプルなので、キーボードのキーを押したら視点が切り替わるように実装します。
1.[BP_ThirdPersonCharacter]を開いて[イベントグラフ]画面の空いている場所でマウスの右クリックをして表示された[すべてのノード]画面で “Keyboard Event V” を検索して追加します。
2. [V]キーのイベントが追加されます。
3.[Pressed]ピンを伸ばして表示された[すべてのノード]画面で “Set Relative Location And Rotation” を検索して追加します。
4.[Set Relative Location And Rotation]が追加されます。
5.[コンポーネント]画面の[Character Movement]を[Set Relative Location And Rotation]ノードの[Target]にドラッグします。
6.[Set Relative Location And Rotation]ノードの[New Location]と[New Rotation]に先ほどメモした切り替え後のカメラ座標を設定します。
7.[Set Relative Location And Rotation]をコピーして[Released]ピンと接続して[New Location]と[New Rotation]のすべてを “0.0” に戻します。
ここまでの作業を保存して実行してみます。
プレビュー画面にキャラクターが表示されたらキーボードの[V]キーを押してみます。
キャラクターへの視点が変更されます。
しかし、キャラクターの移動を操作すると、その視点のまま移動してしまいます。
この状態では、銃などの攻撃が難しいので視点を切り替えている間はカメラをキャラクターの方向に固定します。
切り替えている間は視点を固定する
キャラクターの方向を固定するように設定を行います。
1.[Set Relative Location And Rotation]ノードの実行ピンを伸ばして表示された[すべてのノード]画面で “Set Orient to Movement” を検索して追加します。
2. 追加された[Set Orient to Movement]ノードの実行ピンを伸ばして表示された[すべてのノード]画面で “Set Use Controller Rotation Yaw” を検索して追加します。
3. 追加された[Set Use Controller Rotation Yaw]ノードの[Use Controller Rotation Yaw]のチェックを付けます。
4.[コンポーネント]画面の[Character Movement]を[Set Orient Rotation to Movement]ノードの[ターゲット]ピンにドラッグします。。
5.[Character Movement]ノードが[ターゲット]ピンと接続された状態で追加されます。
6. [Released]ピンに接続した[Set Relative Location And Rotation]ノードにも同様に[Set Orient Rotation to Movement]と[Set Use Controller Rotation Yaw]ノードを追加します。
7. 追加されたノードの[Orient Rotation to Movement]と[Use Controller Rotation Yaw]設定は[Pressed]とは逆の設定にします。
ここまでの作業を保存して実行すると、視点切替後はプレイヤーキャラクターの動きにカメラの回転が追従しなくなります。
まとめ
今回は、Unreal Engineのキャラクターを追従するカメラの座標を切り替える手順について書きました。
アクションゲームなどでは、銃を構えた際に視点が切り替わる機能が実装されています。Unreal Engineではカメラの座標を一時的に変更することで簡単に実装ができました。
Unreal Engineのゲーム開発でキャラクターの視点切替をしたい人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。