目的
UE5.4にてキャラクターの視点をボタン操作で切り替える
環境
バージョン等
種別 | 概要 | バージョン |
---|---|---|
OS | Mac | M1 2020/Sonoma 14.4.1 |
Engine | UnrealEngine | UE5.4.2 |
テンプレート | ThardParthon | - |
Plugin | - | - |
階層
root/
└Content
└BluePrint
├BP_Character ※キャラクターのブループリント定義ファイル
├GM_Defoult ※ゲームモード設定ファイル
└Input
├IMC_DF ※キャラクターの入力マッピングコンテキスト
└Change
└ IA_SwitchCamera ※カメラ用入力アセット
手順
[1] キャラクターへ視点カメラの追加
[1] コンテンツブラウザから「BP_Character」をダブルクリックして編集ビューを表示
[2] コンポーネントパネルから「BP_Character(Self)」→「Capsule Component」→「CameraBoom」配下にカメラコンポーネントを追加
[3]GUIエリアにて好みの視点になるように[2]で追加したカメラコンポーネントを設置
[4]各カメラコンポーネントの詳細タブにて「Auto Activate」パラメータからチェックを外す
[2] カメラ用入力アセットの作成
[1]コンテキストブラウザから「追加」→「入力」→「入力アセット」にてカメラ用の入力アセットを作成
[2]カメラ用入力アセットの編集画面を表示し、「詳細」タブから下記パラメータを修正
パラメータ
「アクション」→「Value Type」:Axis2D(Vector2D) Digtal(bool) ※押下されたかの判定のみのため boolに変更
「アクション」→「Triggers」:タップ ※設定しないとアクションが安定しない。押下後キャンセルしたい時用に「タップ」を設定した
[3]キャラクターの入力マッピングコンテキストの修正
[1]コンテキストブラウザからキャラクターの入力マッピングコンテキストを展開。
[2]「詳細」タブ→「マッピング」→「Mapping」にセットアクションを追加。対象をカメラ用入力アセットと選択し下記パラメータを設定
パラメータ
入力トリガー: キーボード C ※任意のボタンを選択
Setting Belaviar:Inherit Settings from Action
[4]カメラ切り替え処理の実装
[1]コンテンツブラウザからキャラクター用ブループリントを開く
[2]「イベントグラフ」を開き下記ノードを追加
追加ノード
ノード名 | 種別 | 用途 |
---|---|---|
EnhancedInputAction IA_SwitchCamera | イベント | カメラ切り替え処理の入力イベント |
Flip Flop | フローコントロール | 単一のイベントを特定の処理に交互に振り分ける |
set active(*) | コンポーネント | カメラコンポーネントの有効無効のパラメータ格納変数 |
Use Controller Rotation Yaw | ボーン変数 | ボーンへの回転操作の有効無効パラメータ格納変数 |
以上
課題
[1]視点を切り替える際に一人称視点が入り込む
#### 概要
視点切り替えを行なった際、一人称視点がワンクッション入り込む
想定:[三人称視点]→[一人称視点]→[自撮り視点]→[三人称視点]...
現在:[三人称視点]→[一人称視点]→[自撮り視点]→[一人称視点]→[三人称視点]...
原因
切り替え処理をイベントグラフで「Flip Flap」関数を入れ子にして実装したため。
当関数は2つの処理コンポーネント処理を交互に行うコンポーネントであるため
予定する更改
・課題[1]の解消
・UIからの視点切り替え実装
・Clientにてスケルトンメッシュを変更してもカメラ切り替え処理が利用できる