ターゲットシステム

このページは4.7.3を対象としています。

更新履歴

概要

このページでは上の動画のようなターゲットシステムの作り方をまとめています。 一般的なMMORPGでは、PCやNPCをクリックするとターゲットすることができます。 ターゲットとは、話しかけたり、攻撃や回復したりする対象を選択する動作のことです。 このページではそのターゲットシステムのブループリントについてまとめます。 なお、アニメーションに関してはまだよく分からないので省略します。

継承について

ターゲットの対象となるのはプレイヤーやエネミーです。 それぞれ別のキャラクターとして実装すると、 ターゲットやその他の処理で似たような処理が多くなってしまいます。 そこで共通の処理をまとめた親クラスを作ります。 作成した親クラスは「クラス設定 -> 詳細 -> クラスオプション -> 親クラス」で次のように設定できます。

各クラス間の関係は次のようにしました。

     MyCharacterParent
    ↑        ↑
MyPlayerCharacter MyEnemyCharacter

ターゲットの処理

まず、MyCharacterParentに、オブジェクトリファレンスMyCharacterParent型のTargetという変数、 Float型のHP、HPMAXという変数を次のように追加します。 Targetは複製をReplicatedに指定し、 HP、HPMAXは適当なデフォルト値を指定し、複製をReplicatedに指定します。

EventGraphで次のようなブループリントを作成します。

次にUMGでターゲットの名前を表示するTextBlock_TargetNameとHPを表示するProgressBar_TargetHPを次のように追加します。

それぞれにバインドする関数を次のように作成します。

最後にPlayerControllerにブループリントを次のように作成します。

これでターゲットしたキャラクターの名前とHPが表示されます。

戻る

inserted by FC2 system