UE4 三日月形の爆発エフェクト作り
色々上手くいかんなぁ…とか考えてるうちにblogすっごい放置ぎみだった! ので、
どこぞのアカウントと一緒に消しちゃった情報とか、
またこちらの方にちょこちょこまとめて行こうかと思います。
というわけで、リハビリかねてちょっと前に作った
簡単な爆発エフェクトについてまとめました。
こういう感じのものになります。↓www.youtube.com
色々ググッてみたところ、「三日月爆発エフェクト」なるすごいしっくりな呼び方を見つけたので、
本記事ではこう呼んでいくことにします。
今回はUE4.9を使用して作成しました。
~~~~~~~~
作成開始
~~~~~~~~
- 爆発用マテリアルの作成
- パーティクル作成
まずは、与えた0.0 - 1.0の値で円が中心付近から消えていくマテリアルを作成します。
マテリアル作成
- 円の作成
円はテクスチャを使用せず、こちらのノードを使用しています。
Radial Gradient Exponentialdocs.unrealengine.com
円状にグラデーションを作るノードになります。
円の中心位置、サイズやグラデーション度合いを操作を自由に操作ができます。
M_CresentExplosion
① 下地となる円
② 下地を消す為の円
まずはこの2つを設置し、①の円を②で消すようにブレンドします。
②の円は三日月状にするため、CenterPossitionを少しずらしました。
(この辺りはお好みで)
下準備完了。
次は中心座標、円の大きさをパーティクルのアルファ値を利用して更新させ、
爆発のアニメーションをさせていきます。
壱、ParticleColorノード
RGB値はそのままエミッシブカラーへ
弐、アルファ値で②の円の大きさを変更
アルファ値最大==欠けの無い円 にしたいので、はじめにアルファ値を1.0からマイナスした値にしています。
これでマテリアル側は設定完了です。
次はこのマテリアルを使用し、パーティクルを作成します。
パーティクル作成
ParticleSystemを作成し、まずは爆発用に設定。
- InitialVelocityが作用して上にフワーッしているのでモジュールを削除
- エミッターがパーティクルを放出し続ける状態なので、ワンショット(ループナシ)に切り替え
- Requiredモジュール → Duration → EmitterLoopsを1に。
- 複数のパーティクルが出ているので単体で出るように変更
- Spawnモジュール → Spawn → Rate → Distribution → Constant を0に。
- Spawnモジュール → Burst → BurstList, elementsの横の「+」ボタンを押しバースト設定を追加
- 追加した要素のCount を1に。
これで一つのパーティクルがのみが再生される状態になっています。
この状態で
Required → Emitter → Materialを先程作成したマテリアルに変更。
デフォルトのエミッターにあるColorOverLifeモジュールででα値が1.0から0.0へ向かうよう設定されているので、
既に三日月のアニメーションになっていると思います。
アニメーションのタイミングにめりはりを付ける時は、ColorOverLife内でアルファ値をいい感じに操作されたし!
という事で、三日月爆発エフェクトの作成でした。
あとはLifetimeを変更したり、Colorを変更してみたり、複数出してみたり、
色々遊べるかとかと
上手くいかねぇ!
な方はテスト兼ねてgithubにuassetを上げているので、こちらどうぞ。
UE4MyVisualEffects/CresentExplosion at master · toorsoo/UE4MyVisualEffects · GitHub
なんかパーティクルの方のマテリアルが剥がれちゃってるような?UPするならプロジェクト毎の方がいいんじゃろか…