2026/03/05
UE5.5 弾痕をデカールを使って再現する
初めに
UEのテンプレートプロジェクト
「ファーストパーソン」を作る
このテンプレートには銃があるので、このテンプレートを使って作ります
弾痕用のデカールを作る
最初にデカールマテリアルを作ります
新しくマテリアルを作って開く
マテリアルの結果ノードをクリックして
詳細の
一番上「Material Domain」を「Deferred Decal」、
その下「Blend Mode」を「Translucent」にする
ノードを以下のように配置する
「弾痕用のテクスチャ」RGB→ベースカラー
A→オパシティ
デカールマテリアルの完成!
デカールアクタを作ります
新しくブループリントを作成
検索で「decalactor」と入力
「Decal Actor」をクリック
選択
適当に名前を付けて作成
開いたらビューポートに行き、上から2番目の
「Decal(NewDecalComponent)」
のトランスフォーム(大きさ)を好きに変える
これはデカールが付く範囲で、小さめでOK
自分は「0.02、0.035、0.035」にした(とりあえずこれにしとけばいい
下4番目の「Decal Material」に先ほど作ったデカールマテリアルを入れる
下2番目の「Fade Screen Size」を好きに変える
これはデカールからどれくらい離れると消えるかの距離
小さいほど短くなる
自分は「0.007」にした(とりあえずこれにとけばいい
下1番目の「Fade Start Delay」を好きに変える
これはデカールがスポーンしたとき、
何秒待つと下1番目の「Fade Duration」を開始するかの時間
下1番目の「Fade Duration」
これは、何秒かけてデカールをフェードアウトさせるかの時間
自分は1秒にした(多分フェードアウトじゃなくてぱっと消える...なぜか
これで弾痕用のデカールの完成!
弾痕をスポーンさせる
これを書きたくてこのページを作ったといっても過言ではない....
Hitイベントから様々な情報を得られることを知らないと簡単に作れないと思う
フォルダの「コンテンツ>FirstPerson>Blueprints>」内
「BP_FirstPersonProjectile」を開く
イベントグラフを開き以下のようにノードを配置する
EventHitからHit→「Break Hit Result」展開して上から7番目「Normal」
→「Rotation From X Vector」→「Break Rotator」
XとZは「Make Rotator」に直Yは「Add(+)」90してYに
「Make Transform」←Make RotatorのRotationを
Make TransformのRotationに
EventHIt下から4番目「Hit Location」
→Make TransformのLocation
「SpawnActor from Class」Transform←Make Transform
EventHitから実行ノード→SpawnActor from Class
SpawnActor from Classの一番上「class」を
先ほど作った「デカールアクター」にする
これで弾痕が再現できます!お疲れさまでした!