茶ポーン

ゲーム作りめも。VR幻想郷いきたい。

UE4 三日月形の爆発エフェクト作り

色々上手くいかんなぁ…とか考えてるうちにblogすっごい放置ぎみだった! ので、
どこぞのアカウントと一緒に消しちゃった情報とか、
またこちらの方にちょこちょこまとめて行こうかと思います。


というわけで、リハビリかねてちょっと前に作った
簡単な爆発エフェクトについてまとめました。


こういう感じのものになります。↓www.youtube.com


色々ググッてみたところ、「三日月爆発エフェクト」なるすごいしっくりな呼び方を見つけたので、
本記事ではこう呼んでいくことにします。


今回はUE4.9を使用して作成しました。


~~~~~~~~
作成開始
~~~~~~~~

  1. 爆発用マテリアルの作成
  2. パーティクル作成

まずは、与えた0.0 - 1.0の値で円が中心付近から消えていくマテリアルを作成します。

マテリアル作成
  • 円の作成

円はテクスチャを使用せず、こちらのノードを使用しています。

Radial Gradient Exponentialdocs.unrealengine.com

円状にグラデーションを作るノードになります。
円の中心位置、サイズやグラデーション度合いを操作を自由に操作ができます。

M_CresentExplosion
f:id:toorsoo:20150909234212p:plain


① 下地となる円
② 下地を消す為の円


まずはこの2つを設置し、①の円を②で消すようにブレンドします。
②の円は三日月状にするため、CenterPossitionを少しずらしました。
(この辺りはお好みで)
f:id:toorsoo:20150909234801p:plain


下準備完了。


次は中心座標、円の大きさをパーティクルのアルファ値を利用して更新させ、
爆発のアニメーションをさせていきます。



f:id:toorsoo:20150910001057p:plain
壱、ParticleColorノード
RGB値はそのままエミッシブカラーへ
弐、アルファ値で②の円の大きさを変更
アルファ値最大==欠けの無い円 にしたいので、はじめにアルファ値を1.0からマイナスした値にしています。

これでマテリアル側は設定完了です。


次はこのマテリアルを使用し、パーティクルを作成します。

パーティクル作成

ParticleSystemを作成し、まずは爆発用に設定。

  1. InitialVelocityが作用して上にフワーッしているのでモジュールを削除
  2. エミッターがパーティクルを放出し続ける状態なので、ワンショット(ループナシ)に切り替え
    1. Requiredモジュール → Duration → EmitterLoopsを1に。
  3. 複数のパーティクルが出ているので単体で出るように変更
    1. Spawnモジュール → Spawn → Rate → Distribution → Constant を0に。
    2. Spawnモジュール → Burst → BurstList, elementsの横の「+」ボタンを押しバースト設定を追加
      1. 追加した要素のCount を1に。

これで一つのパーティクルがのみが再生される状態になっています。
この状態で
Required → Emitter → Materialを先程作成したマテリアルに変更。
f:id:toorsoo:20150910003442p:plain

デフォルトのエミッターにあるColorOverLifeモジュールででα値が1.0から0.0へ向かうよう設定されているので、
既に三日月のアニメーションになっていると思います。
アニメーションのタイミングにめりはりを付ける時は、ColorOverLife内でアルファ値をいい感じに操作されたし!


という事で、三日月爆発エフェクトの作成でした。
あとはLifetimeを変更したり、Colorを変更してみたり、複数出してみたり、
色々遊べるかとかと

f:id:toorsoo:20150910003915p:plain


上手くいかねぇ!
な方はテスト兼ねてgithubにuassetを上げているので、こちらどうぞ。
UE4MyVisualEffects/CresentExplosion at master · toorsoo/UE4MyVisualEffects · GitHub


なんかパーティクルの方のマテリアルが剥がれちゃってるような?UPするならプロジェクト毎の方がいいんじゃろか…