Unreal Engine 5で、キャラクターを操作するためのブループリントの作り方です。
アニメーションブループリントを設定することで、操作に合わせてアニメーションさせることができます。
ここでは、キャラクターを水平移動させるだけの、シンプルなブループリントを作成します。
1.ブループリントアセットの作成
キャラクターブループリントのアセットを作成します。
コンテンツブラウザでフォルダを選択→フォルダ内で右クリック→「ブループリントクラス」→「Character」で、作成します。
2.コンポーネントの設定
キャラクターブループリントに、キャラクターとなるスケルタルメッシュを設定します。
スケルタルメッシュの設定
作成したブループリントをダブルクリックして開き、「コンポーネント」の「Mesh」を選択→「詳細」の「Skeltal Mesh Asset」に、スケルタルメッシュを選択します。
ビューポート内の水色の矢印は、キャラクターの向きを示しています。そのため、スケルタルメッシュが矢印の方向に向くように、「トランスフォーム」の「回転」を調整します。
「Animation Mode」を「Use Animation Blueprint」にして、作成済みのアニメーションブループリントを選択します。
Capsule Componentの調整
「Capsule Component」の大きさを「詳細」の「Capsule Half Height」、「Capsule Radius」で、スケルタルメッシュの位置を「詳細」の「位置」で調整し、位置と大きさを合わせます。
カメラの設定
キャラクターブループリントに、キャラクターを追従するカメラを設定します。
「Mesh」を選択→「追加」→「Camera」の「Spring Arm」を追加します。
追加したSpring Armを選択→「追加」→「Camera」の「Camera」を追加します。
カメラの位置を、Spring Armの「詳細」の「カメラ」の項目で調整します。
今回は「Target Arm Length」で後方に、「Socket Offset」で上方に移動しました。
歩行速度の設定
キャラクターが歩行できる設定になっていることを確認し、歩行移動の最大速度を調整します。
「コンポーネント」の「Character Movement」を選択し、「詳細」→「Can Walk」のチェックを確認→「Max Walk Speed」で、キャラクターに合った速度に調整します。
3.入力アクションの作成
キャラクターブループリントのイベントグラフ作成に必要な、入力アクションのアセットを作成します。
このアセットは、プレイヤーからの入力情報の型(ボタンのオンオフ、2次元のベクトルなど)を定義し、イベントグラフ内で参照されることで、キャラクターを動作させる起点となります。
コンテンツブラウザでフォルダを選択→フォルダ内で右クリック→「入力」→「入力アクション」で作成します。
作成した入力アクションをダブルクリックして開き、「詳細」の「Value Type」を「Axis2D(Vector2D)」にします。
Axis2Dは平面上の移動方向のような2次元ベクトルで情報を受け取れます。
4.入力マッピングコンテキストの作成
キャラクターブループリントのイベントグラフ作成に必要な、入力マッピングコンテキストのアセットを作成します。
このアセットは、プレイヤーからの入力情報(デバイスやボタンなど)と、入力アクションの対応関係を定義し、プレイヤーコントローラーの初期設定のために、イベントグラフ内で参照されます。
コンテンツブラウザでフォルダを選択→フォルダ内で右クリック→「入力」→「入力マッピングコンテキスト」で作成します。
作成した入力マッピングコンテキストを開き、「詳細」→「Mappings」右の「+」→マッピングに追加する入力アクションを選択します。
入力アクションに対応させる入力(Wキーなど)を選択し、「Modifiers」を設定します。
Modifiers(入力モディファイア)は、入力情報が入力アクションに渡される前の、前処理を行います。
ここでは、Axis2Dのx値として渡されるはずの値を、Swizzle Input Axis Valueモディファイアでx値とy値の入れ替え、Negateモディファイアで負の値にします。
5.イベントグラフの作成
入力に対してキャラクターを動かす処理を、イベントグラフで作成します。
入力マッピングコンテキストをコントローラーに追加する処理
このキャラクターブループリントを持つポーンのコントローラーに、選択した入力マッピングコンテキストを設定します。
「状況に合わせた表示」のチェックを外さないと検索できないノードもあります。
キャラクターに移動入力を与える処理
ポーンのコントローラー情報を使って入力方向を決め、ポーンに移動入力を与えます。
ここでは、Z軸周りの姿勢だけを合わせているので、XY平面上の移動入力になっています。
不都合があれば、変更する予定です。
コンパイル
処理を作成後、画面左上の「コンパイル」を行います。
これでキャラクターブループリントの設定ができました。
ゲームに反映するには、GameModeブループリントにキャラクターブループリントを設定する必要があります。
GameModeブループリントについては、次の記事の「7.Game Modeブループリントの作成」確認してください。
以上です。
コメント