ゲーム開発を試してみようと思い立ち、Unreal Engine 5をインストールして開発する過程で調べてみた部分を備忘録的に投稿します。今回はダメージを受けるアクターに近づくと体力ゲージを減らす処理を追加していきます。
先回までのダメージ処理については、別記事をご覧ください。
キャラクターの体力を減らす処理
新しく作成したアクターに近づいた際に、固定のダメージ量をゲージから減らす処理を追加します。
1.[BP_ThirdPerson]の[マイブループリント]画面の[変数]右の[+]をクリックして変数を追加します。
2. 追加された変数の名前を “HealthPoint” に変更し[変数の型]一覧から[Float]を選択します。
3.[HealthPoint]をイベントグラフにドラッグして表示されたポップアップ画面で[Get HealthPoint]を選択します。
4.[イベントグラフ]に[Health Point]が追加されます。
5.[イベントグラフ]の空いている場所で右クリックして表示された[このブループリントで使えるノード]画面で “Event AnyDamage” を検索して追加します。
6.[イベントグラフ]に[Event AnyDamage]が追加されます。
7.[Health Point]のピンを伸ばして表示された[浮動小数点(倍精度)を取得する動作]画面で ” – ” を検索して[Subtract]を追加します。
8.[イベントグラフ]に[ – ]が追加されます。
9.[Event AnyDamage]の[Damage]ピンと接続します。
10.[ – ]の右側のピンを伸ばして表示された[浮動小数点(倍精度)を取得する動作]画面で “Set Health Point” を検索して追加します。
11.[イベントグラフ]に[セット]が追加されます。
ここまでの作業で受けたダメージを減算する処理が完成です。
ゲージから体力を減算する処理
先回、ビューポートに追加した処理を修正して、受けたダメージをゲージから減らす処理を追加していきます。
1.[BP_ThirdPersonCharacter]の[イベントグラフ]内[Add to Viewport]を選択して削除します。
2.[Create WP Health Bar Widget]の[Return Value]からピンを伸ばして表示された[WP Health Bar オブジェクト参照を取得する動作]画面で[Promote to variable(変数へ昇格)]を選択します。
3. 追加された[セット]と[Create WP Health Bar Widget]の実行ピンを接続します。
4. [マイブループリント]画面に追加された変数の名前を “HealthBar” に変更します。
5.[セット]の実行ピンを伸ばして表示された[WO Health Bar オブジェクト参照を取得する動作]画面で “Add to Viewport” を検索して追加します。
6. 追加された[Add to Viewport]の[Target]ピンを接続します。
7.[Add to Viewport]の実行ピンを[Cast To PlayerController]と接続します。
キャラクターの体力を減らす処理(続き)
[Event AnyDamage]から追加した処理の続きを設定します。
1.[イベントグラフ]の[Event AnyDamage]付近に移動して[マイブループリント]画面の[HealthBar]変数を選択します。
2.[イベントグラフ]の空いている場所にドラッグして表示されたポップアップメニューから[Get HealthBar]を選択します。
3. 追加された[Health Bar]からピンを伸ばして表示された[WP Health Bar オブジェクト参照を取得する動作]画面で “Set Health Point” を検索して追加します。
4.[イベントグラフ]に追加された[セット]の実行ピンを接続します。
5. [Event AnyDamage]付近の[Health Point]を選択して[詳細]画面の[デフォルト値]を[100.0]に設定します。
6.[WP_HealthBar]の[イベントグラフ]内の[Health Point]を選択して[詳細]画面の[デフォルト値]を[100.0]に設定します。
ここまでの作業で、ゲーム画面にキャラクターからダメージを減算する処理がすべて完成しました。
実行して確認
ゲームを開始後、キャラクターの上部に体力ゲージが表示されます。
キャラクターを操作して、レベルに配置したダメージを受けるアクターに近づくとゲージから一定の量が減ります。
何度も近づくと、その度にゲージから一定の量が減る動作を繰り返します。
まとめ
今回は、Unreal Engineでキャラクターの体力を表示するゲージを追加する方法ついて書きました。
レベル上に配置したダメージを受けるためアクターに近づくと一定量のダメージを受ける処理を追加し、表示したプログレスバーから減らします。
敵キャラの他に、地雷や毒などレベルに配置されたアクターからもダメージを受ける仕組みは必要になるので、その際に使える手順です。
Unreal Engineのゲーム開発でキャラクターの体力ゲージを表示させたい人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。