目次
はじめに
注意
UE5Preview2の現在の情報です。
今後のアップデートによりUIや機能が変更される可能性があることをあらかじめご理解ください。
解説
①砲弾がプレイヤーに当たったら自壊させる
BP_Cannonballを開きStaticMeshのコリジョン応答がOverlapAllDynamicであることを確認しましょう。
このスタティックメッシュにモノが触れたときのイベントを記述します。
コンポーネントからStaticMeshを右クリックしてOnComponentBeginOverlapを追加します。
OnComponentBeginOverlap
コンポーネントが何かに当たった瞬間に呼ばれる。
次に画像のように組みます。
当たったアクタの情報がプレイヤーキャラクターと同じだったら自壊するようにします。
コンパイルして実行してみましょう。
プレイヤーキャラクターに当たった瞬間に弾が消えているのが分かります。
②ダメージ処理を記述する
アンリアルエンジンにはアクタ間でのダメージ処理を円滑に行うためのノードがあります。ApplyDamageを追加しましょう。
ダメージの量を変数化しておきましょう。
BaseDamageを右クリックして変数に昇格します。
コンパイル後デフォルト値を12にしましょう。
念のため一度だけ呼ばれるようにDoOnceノードを挟んでおきます。
これで砲弾側の設定は完了です。
③プレイヤーにダメージ処理を記述する
BP_ThirdPersonCharacterを開いて前回作成したテスト用のタイムラインを切断しておきます。
イベントAnyDamageを追加します。
これで砲弾のダメージ処理時にここが呼ばれます。
そうしたら画像のようにHPを減らす処理を記述します。
Clampノードで0以下にならないようにします。
実行してみましょう。
被弾するたびにHPが減っていれば完成です。
もしはじめからHPバーが出ていないときは、キャラクターとウィジェットBPのHP変数が100になっていることを確認しましょう。
最後に
UE4やUE5向けの記事を書いています。
皆様の応援が投稿のモチベーションになりますので
コメントやTwitterのフォローなどしていただけるとありがたいです。
それではよきゲーム開発を。