公開日:2025/07/04  更新日:2025/07/04

UE5のヒットエフェクトについて

UE5で攻撃したら、敵がひるみ血が出るなどのヒットエフェクトがほとんどの場合必要になってくる。

これまでの以下のページをベースにヒットエフェクトを作っていこうと思う。

銃の持ち方

ブレンドスペース

エイムオフセット

視点変更

弾を撃つ

ダメージ処理

死亡処理

パンチ攻撃

吹き飛ばし

コンボ(先行入力)

先に確認してみてほしい。

Get・SetやSequenceやBranchといった基礎的なノードがわからない場合は先に以下記事を確認してほしい。

アンリアルエンジンのノードの一覧

UE5のヒットエフェクトの目次

ヒット時のひるみアニメーションの入手
出血エフェクトを作成
ヒットエフェクトを実装
目次にもどる

ヒット時のひるみアニメーションの入手

攻撃がヒットすると敵がひるむようなアニメーションが必要になるので、Mixamoからとってくる。

以下からMixamoのサイトに入り、Animationタブを選択し、hitと検索すれば攻撃が命中した場合の様々なアニメーションが出てくる。

Mixamo

今回は自分は以下の2つのアニメーションをダウンロードしたが、好きなものを選べばOK。

UE5のヒットエフェクト

MixamoConverterを使って好きなアニメーションを手に入れ、自分のプロジェクトにインポートしよう。

MixamoConverterの使い方がわからない場合は以下の記事で紹介しているので確認してほしい。

MixamoConverterの使い方

アニメーションをインポートしたら、選択して右クリックし作成を選択してアニメーション

目次にもどる

出血エフェクトを作成

Niagaraシステムを使って出血エフェクトを作成していく。

コンテンツドロワー直下にNiagaraフォルダを作成する。

Niagaraフォルダ内で右クリックし、FX→Niagaraシステムのように選択する。

UE5のヒットエフェクト

Niagaraシステムのテンプレが表示される。今回はFountainを選択する。

UE5のヒットエフェクト

Niagaraシステムが作成されるので、今回は名前をBloodにしてダブルクリックして開く。

UE5のヒットエフェクト

エミッタ(プレビュータブで見える放出物)を動かす処理を変更して出血を表現していく。

UE5のヒットエフェクト

「エミッタの更新」を選択し、詳細タブの以下の項目を変更する。

UE5のヒットエフェクト

Loop Behaviorではエミッタ(プレビュータブで見える放出物)を動かす処理を何回行うかを設定できる。

Infiniteなら無限に何度も処理を行い、Onceなら1回だけ、Multipleなら回数を指定可能。今回は1回だけ血が出ればいいのでOnceを選択する。

Loop Durationでは1回の処理にかかる時間を指定できる。

出血エフェクトは短くていいので、今回は0.5に指定(0.5秒間、処理が行われる)。

SpawnRateでは出てくる放出物の数を指定できる

出血を表現するために放出物の数を増やしたい。今回は3000にした。

「Initialize Particle」を選択し、詳細タブの以下の項目を変更する。

UE5のヒットエフェクト

Lifetime MinLifetime Maxで放出物の寿命の最小と最大を指定できる。

今回はLifetime Minを1、Lifetime Maxを2とした。

Colorでは放出物の色を指定できる。

今回はRを0.1、Gを0、Bを0にして血の色を表現した。

UE5のヒットエフェクト

Sprite Size Modeでは放出物一つ一つのサイズを指定できる。

今回はSprite Size ModeをRandom Uniform(ランダムなサイズ)にした。

Unuform Sprite Size Minは4、Unuform Sprite Size Maxは6に指定した。

「Shape Location」を選択し、詳細タブの以下の項目を変更する。

UE5のヒットエフェクト

Shape Primitiveでは放出物が広がる形を選択することができる。

今回はBox/Planeを選択した。

「Add Velocity」を選択し、詳細タブの以下の項目を変更する。

UE5のヒットエフェクト

Velocity Speedは放出物が動く速度を示す。速度が速いほど放出物が大きく動き、エミッタ全体のサイズも大きく見えるようになる。

デフォルトだと血が表示される範囲が広すぎると判断したので、Velocity SpeedのMinimumを250、Maximumを550に減少させた。

以上の作業で出血エフェクトは完成だ。

UE5のヒットエフェクト
目次にもどる

ヒットエフェクトを実装

以前の記事で作成したBP_Character(操作キャラや敵の親クラス)を開く。

HitAnim(Animモンタージュ)、HitAnim2(Animモンタージュ)、Hit(Boolean)、BloodLocation(Bone Name)の4つの変数を作成する。

UE5のヒットエフェクト

以前インターフェースで作成したダメージ処理(HP-ATKなどを行った)に追加する形でヒットエフェクトを実装していく。

キャラが攻撃を喰らった時にひるむ処理は以下のようにした。

UE5のヒットエフェクト

最初のBranch(Hitがfalseの時に処理)は攻撃が連続ヒット時に1回目のアニメーションモンタージュが中断されるのを防ぐために配置。その後にHitの変数をTrueにしている。

その後のBranchはRandom Integer in Rangeで1から2を指定し、1だった場合は上のPlay Montage、2だった場合は下のPlay Montageが再生されるようにしている。せっかく2つ敵が攻撃を喰らったアニメーションをとったので、どちらかがランダムで再生されるようにしたかったのでこのような処理にした。

敵(今回はBP_Orc)のブループリントでHitAnim(Animモンタージュ)、HitAnim2(Animモンタージュ)にあらかじめ再生するアニメーションを指定しておく。 UE5のヒットエフェクト

上のPlayer MontageではHitAnim、下のPlayer MontageではHitAnim2が再生されるようにしている。

UE5のヒットエフェクト

最後にPlayMontageのOn Completed(最後まで完了)とOn Interrupted(中断された)からワイヤーを伸ばし、Hitの変数にflaseをセットしてやればOKだ。

血がでるエフェクトについては、同じくダメージ処理に追加する形で以下のように実装してやればOKだ。

UE5のヒットエフェクト

Spawn System AttachedノードははNiagaraシステムを指定した場所にスポーンさせることが可能だ。

System Templateには先ほど作成したNiagaraシステムのBloodを指定。

Attach to Componentにはダメージ処理を行ったキャラと同じメッシュを指定してやれば良い。

Attach Point NameにはNiagaraシステムをスポーンさせる位置を入力する。

今回は先ほど作った変数にBloodLocation(Bone Name)にあらかじめ、Niagaraシステムをスポーンさせたい骨の名前を入力しておく。

骨の名前は敵キャラのスケルタルメッシュを見て確認しよう。

UE5のヒットエフェクト

今回は胸当たりにある骨であるspine_03から出血エフェクトを出すことにした。spine_03という骨の名前をコピーし、敵(今回はBP_Orc)のブループリントでBlood Locationの変数にあらかじめ入力しておく。

UE5のヒットエフェクト

そしてBlood Locationの変数をGetした後、ワイヤーを伸ばしてBreak Bone Nameと検索してブレイクし、それをAttach Point Nameに入力するようにする。

UE5のヒットエフェクト

以上でヒットエフェクト処理は完成。以下のように敵に攻撃を当てると敵がひるみ、胸当たりから出血する。


アンリアルエンジンの基本まとめへ戻る

page top