はじめに
某ゼ●ダの伝説やSEK●ROなどのアクションRPGに必ずと言っていいほど実装されているロックオンカメラ。
その名の通りカメラを目標にロックすることで、煩雑なカメラ操作をやめ戦闘などに集中することができるメリットがあり、古くから三人称のアクションゲームに数多く取り入れられてきました。
そんなロックオンカメラをUE4の力を借りて楽に実装していこうというのが本日の解説です。
▲ UE4勉強時に作成していたアクションゲームのロックオンカメラ。
やりかた
事前準備
実装環境
・ Windows10
・ UE 4.26.2(設定から日本語化済み)
・ Target System Component Plugin
EpicGameランチャーからUEのマケプレに飛んで
"Target System Component Plugin"と検索。任意のエンジンにインストールを押してください。
インストールしたエンジンを起動。ゲームからサードパーソンテンプレートを選択。特に設定は変更せずにプロジェクトを作成しましょう。
開いたら、上のメニューから編集->プラグインを押して、TargetSytemを有効化してエディタを再起動しましょう。
コンテンツブラウザの右下のタブからエンジンのコンテンツとプラグインのコンテンツを有効化しましょう。
するとインストールしたTargetSyetemコンテンツが表示されます。
Maps->TargetSystemTestMapを開くとサンプルが表示されます。
プレイを押してTabキーを押してみましょう。プレイヤーから一番近いキャラクターにロックオンされるはずです。
自前のキャラクターに実装してみる
それでは自前のキャラクターに実装していきたいと思います。
といっても非常によくできたプラグインで簡単に実装することができるので臆することは全くありません。
今回はデフォルトのTPSサンプルのキャラクターに実装していきます。
コンテンツ->ThirdPersonBP->MapからThirdPersonExampleMapに戻っておきましょう。
①コンポーネントの追加と詳細
シーン上のThirdPersonCharacterを選択しBPを開きます。
コンポーネントを追加から、TargetSyetemコンポーネントを追加します。
追加したコンポーネントを選択すると詳細ウィンドウに設定項目が現れます。
一番上からターゲットを有効にできる距離。
ターゲットを行うアクター群
ターゲットを行うコリジョン
回転をコントロールするか?
やロックオン時のアイコンを変更するWidgetやオフセットなど細かくカスタマイズすることができます。
今回はデフォルト設定のままで行きます。
②ロックオンの入力
適当なところで右クリックを押し検索窓に@と入力します。
インプットKeyをFに変更しておきます。
TargetSyetemコンポーネントをイベントグラフ上にドラックしてそこからTargetActorを検索してPressedにつなぎます。
基本的には以上で完了です。
マップ上にThirdPersonCharacterを数体置きプレイしてみましょう。
Fキーを押すたびにロックオンが切り替わります。
さいごに
このコンポーネントを用いることでロックオンの状態やロックオン先の情報なども取得できますので、うまく組み合わせて理想のロックオンを作りましょう。
また、コンポーネントのShould Control Rotationのチェックを入れると常にキャラクターが正面を向きます。ストレイフ動作用のABPを組むことでより自然な戦闘を演出できるのでぜひ挑戦してみてください。
UE4やUE5向けの記事を書いています。
皆様の応援が投稿のモチベーションになりますので
コメントやTwitterのフォローなどしていただけるとありがたいです。
それではよきゲーム開発を。