【UE4】デカールエフェクト、基礎編
Verは4.25です
【初めに】
今回はデカールエフェクトについてです。
いろいろ詰めると長くなるのが解りきっているので、ある程度まとめて記事を分けていきます、ご了承ください。
そもそもまずデカールエフェクトについて、というよりも「デカール」について
アクタを配置、ビジュアルエフェクト、の中にあるデカールをレベル上に配置するとこのようになると思います。
マテリアルを上から平行投影でシールのように貼り付ける。
大きいメリットとして、地形の形状にそって描画をすることが出来ること。
これにより、地面から少し浮いてしまうことや、地面の中に突き刺さってしまう
という事を回避できます。
エフェクトとしての用途であれば、武器を地面に叩きつけたときの地割れ、ひび割れであったり
キャラクターの足元に出る魔法陣などが代表的です。
なお、今回の記事はBPでの制御をメインとしています。
【準備】
まずは必要なものの準備として、デカール用のマテリアルとBPを作ります。
マテリアル側での準備としては非常にシンプルで
Material Domainを「Deferred Decal」に
Blend Modeは「Translusent」にします
BlendModeはこれでないといけないわけではないですが、今回はTranslusentにしておきます。
また、何も設定していないとそもそもデカールが見えないのでなにか入れておきましょう。
また名前を指定して制御するので
RGBの色を「Color」アルファを「Alpha」にしておきます。
また動かす部分はScaleParameterやVectorParameterにしておきましょう
今回は色とアルファを制御できるようにしています。
色とか数値は弄っていますが、この時点でそのままマテリアルをレベルに配置できます
確認のために一旦此処で配置してみるのが良いかと思います。
次にBPです
デカール用のBPを検索して作っても良いのですが
レベルに配置したマテリアルから、このボタンを押してBpを作ってしまうのが、検索の手間も省けて早いと思います。
検索して出す場合はDecalと打つと直ぐ出てきます。
ここで作られたBPをそのままレベルに配置すると、このようになります。
青の大きい矢印がデカールを貼る向きであり
それが横に向いています、環境によるものかもしれませんが...
準備としてはここまでとなります。
【各種制御】
ここからは実際に発生させていきます
デカール用のBPを発生させる処理自体はSpawnActorのActorにデカール用のBPを設定します。
大きさや角度は今回は固定にしていますが、発生位置はプレイヤーキャラの座標をとってきています。
発生そのものは至ってシンプル
次にMIDによる調整
SpawnActorのReturn Valueから検索していくとスムーズにノードが出てくると思います。
右側にある「Set Scalar parameter Value」などで、マテリアル側で設定している数値を調整出来ます
「Parameter name」の名前で判断するので、マテリアル側で付けた名前は覚えておきましょう。
「Create Dynamic Material Instance」ノードからでないと
「Set Scalar parameter Value」などには繋げれないのも注意です。
この時点で、色や透明度をBP上で設定できるようになりました。
次は発生から消えるまでの処理
一番最初にSequenceというノードが増えていますが
これは単純に上から順番に処理を流しているだけです。
やっている事としては、Alphaを制御している数値をタイムラインで調整している、という事です。
注意として、PlayではなくPlay from Startに繋ぐという事
Playは、前回止まったところからの再スタートとなるので、基本的にはPlay from Startに
そしてUpdateは何度も処理が発生する事
ここからの出力をSpawnActorに繋いでしまうと、大量のデカールが出続けることになるので、意図しない場合は注意したほうがよいです。
最後に、FinishedからDestoy Actorで、タイムラインが終わったらデカールを消す処理を入れて完成です。
今回はここまでとなります、ここまででデカールエフェクトとして作れるとは思います。
細かい制御周りはまた次の記事で書ければなと。