BLOGブログ

2025.03.05UE5UE/ 初心者向けUE/ Blueprint

[UE5]初心者向け!自爆機能を作ってみた

執筆バージョン: Unreal Engine 5.5

こんにちは!今日は、プレイヤーが自爆しつつ敵を倒すブループリント(BP)を作成していきます。

「自爆」と一言で表されますが、作品によってその演出はさまざま!例えば、「大切な何かを守るために自らを犠牲にする」場面や、「悪役が自身の信念に従い自滅する」シーンなど、どれも印象的な見せ場となります。視覚的にも非常にインパクトがありますよね!!!

…それはさておき、まずは完成イメージをご覧ください!

いかがでしょうか?

それでは自爆機能の作成を行って行きましょう!!


※今回はサードパーソンのテンプレートを使用します。

作成前にエネミーキャラクター用のBPを作成します。「BP_ThirdPersonCharacter」を複製してリネームを行ってください。

  • 今回は「BP_ThirdPersonEnemy」と命名します。

目次

  • プレイヤーに自爆機能を実装
  • エネミーキャラの実装
  • おまけ

プレイヤーに自爆機能を実装

1.「BP_ThirdPersonCharacter」を開きます

2.イベントグラフ内を左クリックして「カスタムイベント」を作成します

今回は名称を「Explosion」に設定します。

3.「Explosion」に「Apply Damage」を繋げて自身が受けるダメージを設定します。

  • 「Damaged Actor」に「Self」を接続(自身にダメージが入るように)
  • 「Base Damage」を設定(即死できるぐらい大きな値を入れます)

4.「Apply Radial Damage」を繋げて爆発の当たり判定を設定します。

  • 「Base Damage」を設定(敵キャラクターが受けるダメージの設定)
  • 「Origin」に「Get Actor Location」を接続(爆発の中心点がプレイヤーの位置になるように)
  • 「Damage Radius」を設定(爆発範囲の半径を設定)

5.「Spawn Emitter at Location」を繋げて爆破エフェクトの表示設定を行います。

  • 「Emitter Template」に使用するエフェクトを設定(今回はP_Explosionを使用します)
  • 「Location」に「Get Actor Location」を接続(エフェクトがプレイヤーの位置に表示されるように)
  • 「Scale」でエフェクトのサイズを調整

6.「Play Sound at Location」を繋げて爆破時に鳴らす効果音を設定します。

  • 「Sound」に使用するSEを設定(今回はExplosion02を使用します)
  • 「Location」に「Get Actor Location」を接続(SEがプレイヤーの位置で再生されるように)

7.「Set All Bodies Simulate Physics」と「Set Collision Enabled」を繋げて爆破後にラグドール化する処理を入れます。

  • 「Set All Bodies Simulate Physics」の「New Simulate」 を「True」に設定(自身を爆発後にラグドール化(ぐにゃぐにゃ)にする処理)
  • 「Set Collision Enabled」の「New Type」を「Physics Only(No Query Collision)」に設定(ラグドール化した際に地面を無視して落下しないようにする処理)

8.指定キーを入力すると自爆が発動する処理を作成します。

  • イベントグラフ内を左クリックして検索窓に「Keyboard Events」を入力して任意のキーを選択します。(今回はGキーを使用します。)

  • 2.で作成した「Explosion」関数を呼び出して繋げます。(検索窓に「Explosion」を入力すると呼び出せます。)

 

プレイヤーの処理が完成!実行して自爆ができるか確認してみましょう!


エネミーキャラの実装

1.エネミーの色を変えよう

プレイヤーキャラとエネミーの区別がつくように色を一部だけ変えていきます。

「MI_Manny_01」を複製してリネームを行ってください。

  • 今回は「MI_Enemy」と命名します。

「MI_Enemy」を開いて色を変更します。

  • 詳細パネル内「01 – BaseColor:Tint」を選択しカラーピッカーを表示
  • カラーピッカーで任意の色に調整

「BP_ThirdPersonEnemy」を開き詳細パネル内「マテリアル:エレメント0」に「MI_Enemy」をドラッグ&ドロップします。

これでエネミーの色が変わりました!ビューポートを選択してエネミーを確認しましょう!

2.エネミーのライフを作成

マイブループリントパネル内の変数を追加してリネームを行います。

今回は「Enemy Life」と命名します。

コンパイルを行い「Enemy Life」のデフォルト値を設定します。

今回はデフォルト値を「200」に設定します。

  • 先ほど自爆のダメージ値を500に設定したので500以上の値に設定すると爆破ダメージを耐えることができます。

3.イベントグラフ内を左クリックして「Event AnyDamage」を作成します

「Event AnyDamage」はダメージを受けた際に発生するイベントです。

4.ダメージを受けた際にエネミーのライフが減るようにBPを組みます。

  • 「EventAnyDamage」に「Enemy Life」を繋げる
  • 「Enemy Life」が「Damage」分だけ減るように、「Subtract(減算ノード)」を使って処理を組む

5.エネミーのライフが0以下の時にエネミーが消滅する処理を組みます。

  • ブランチノードを作成して、エネミーのライフが0以下の時にTrueとなるBPを組む
  • True時に「Destroy Actor」が発動するようにノードを繋げる

エネミーの処理が完成!実行して自爆で倒せるか確認してみよう!


おまけ

カウントダウン処理を組んでみた!

使用SE:https://soundeffect-lab.info/


 

本ブログは以上となります!

ぜひゲーム内に実装して、思いっ切り爆破してみてください!!