【UE4】カスケードで何かを作ってみよう
UE4で、エフェクトつくろうとした時に、カスケードって何?ってなりそうかな?というか自分はなったので、勝手に記事書きます、ご了承を。
そもそも自分が最初につまづいたのが、カスケードの起動が出来ない
というより、新規作成が解らない(論外)
UE4起動した画面の、コンテンツをクリックすると
コンテンツブラウザというのが出るので
この中の「パーティクル」をクリック
エフェクトでもカスケードでもなく、パーティクルです
この辺若干ややこしい用語なのかもしれません。
作ったのを開くと、こんな画面が出てきます
ビューポートにある、この謎の物体が上の方向に動いています
未だに、これが何なのかはよく解りません。
エフェクト作る際に、重要そうなこの三つ
緑の部分が、エミッターに入れたマテリアル
赤の部分が、エミッターに設定されているモジュール
紫の部分が、モジュールに設定していく中身
エミッターは、放出するもの、という意味
つまりマテリアル(パーティクル)を放出しているものです
このエミッターは、エミッターが並んでいる部分の
黒い部分を右クリックで、新しくエミッターを追加することができます。
モジュールは、いわゆるエミッターに入れる効果などのもので
色を変えたり、発生数を変えたり大きさや角度などを変えたりするものです。
このモジュールはモジュールの上で右クリックから削除したり
モジュールが並んでいる下の灰色部分の右クリックで新しく追加したりできます
結構数が多いです、またこれらは更に展開して、色々種類があるので
全体のモジュール数はかなりの数になります
各モジュールの説明などは、公式のリファレンスを見るといいと思います。自分も全部は覚えきれてないです...
あとは、幾つかモジュールの解説を。
初めから入っていて、消すことの出来ない
「Required」
・Material
そのまんま、使用するマテリアルを設定します。
ドラッグ&ドロップや、右の▼から探すこともできます
・スクリーン整列
初期設定ではPSA Squareとなっています
この状態では、パーティクルの大きさはXのみ影響します
また、常にビルボード表示(カメラの方に向いてしまう)ので
これを変更したい場合はここを変えるといいです
その下の三つのチェック
「Ues Local Space」
これにチェックを入れると、レベルなどに配置し、大きさを変えた時に位置も連動してくれます
これにチェックがいれていないと、拡大しときに表示が変になりやすいので注意
パーティクル単体の大きさは変化するが、位置がそのままになるので
大きさを調整した場合にかなりの破綻になります
「Kill on Deactivate」「Kill on Completrd」
この二つは、エミッタ自体の消去をします
無限ループするようなエフェクトではチェックは無しで
それ以外であればチェックを
大体の場合は全部チェック入れればいいかなと
次に、DurationにあるEmitter loops
この数値はループ回数を設定します
初期値が0、0は延々とループします
基本的には1がいいかなと
こちらも最初からあって消せない
「Spawn」
上の方にあるのを、開いていくと、こんなのが出てきます
この二つは、増やすほど放出していく量が増えていきます
どっちを増やしても増えるので、放出量を増やしたい場合は数値を増やしていけばいいのかなと
ただ、これは放出し続ける場合に使います
「HITエフェクトに、粒子を100個一気に散らしたい!」
という場合には向きません
こういう場合に使うのが「Burst」
という項目にあるここです。
+マークをクリックしてエレメントを追加すると、このような表示が出てきます
「Count」
この数値分だけ、発生します
「Count Low」
0以上の数値を入れると、Countとの数値のランダムになります(つまり最小値、-1で無効)
「Time」
実際にどのタイミングから発生させるか?というもの
ただ1などの数値にすると、発生してくれない?発生しなくなる理由は不明です...
必須はこの二つのモジュールです
後は、個人的に使用頻度が高そうなモジュールをいくつか
【Color Over Life】
Colorの中にあります
色を変える為のモジュールです
ただし、このモジュールで色を変える場合、マテリアル内でparticleColorをつないでおく必要があります
モジュールの詳細ではこの用になっていて、数値設定する部分は、折りたたまれています
このモジュールに限らず、数値を設定する部分が折りたたまれていることが多いです。
ColorOverLifeは、RGBを変化させる
AlphaOverLifeあ、αを変化させます
数値を設定する項目は、5パターンありますが、まずは線を引いた3つ覚えればとりあえずは問題ないです
赤線は、数値を固定で設定
黄色線は、数値を変動させる
緑は、数値の最小最大を設定
配列のエレメント、とある右の+をクリックするとエレメントを追加します
InValは、どの時間の数値を設定するか
OutValは、実際に設定する数値
ArriveTangent,LeaveTangent
この二つは、カーブの微調整するものです、細かい調整をしたいときに使いますが
数値で指定するより、カーブエディタで動かすのが主だと思います
Interpは、この数値の中間の間をどのようなカーブをさせるかを設定
とりあえずは「CurveAuto」が一番安定かなと
上で名前だけだしたカーブエディタ初期位置では右下にあるグラフのようなものです
ここで、これらの数値を動かすことができますが、初期状態では、そもそも何も出ていないです
モジュールの、この部分をクリックすることで、カーブエディタに追加されます
左の青の丸の部分に、モジュール名が追加されます
ただ、モジュールが増えてくると複雑になるので、右の方にある小さな□をクリックすると
カーブエディタ上での、表示、非表示が切り替えできます。
赤丸の部分は、カーブエディタにあるピンをクリックすると出現します
これをドラッグする事で、このカーブの湾曲を変えることができます
上にある紫の部分は、このカーブの曲線をどうやって表示するか、の設定です
基本的に自動でOKです
こりたい場合だけ変えて色々弄ると良いかなと
RGBの設定は、数値の挿入にカラーピッカー使えたりしますが、そこまで大差はないです。
数値の設定は、他のモジュールも基本的に同じです。
詳しくしりたい方が、上にはった公式のドキュメント参照するといいと思います。
【InitialLocation】
いわゆる座標を設定します
ある程度ランダムな範囲に発生する系などに
【InitialSize】【SizeByLife】
初期のサイズと、時間で変化するサイズ
【InitialVeloctiy】
移動させる為のモジュールです
ただ、単純に移動というより、重力で引っ張るようなイメージ...?
【Drag】
減速、IntialVeloctiyと合わせて使う事が多いかなと
割とお手軽に動きの緩急つけやすいので便利です
ただ、あくまで減速するだけなので逆方向に進んでくれたりはしません
ただ、このおかげで手軽に使いやすいと思います。
【LifeTime】
パーティクル毎の寿命を設定します
【InitialRotation】
発生時の角度を設定します、回転はできません
【InitialRotationRate】
回転させるモジュールです。
今回はここまでです、Dynamicは、使う頻度多そうですが、マテリアル絡むので、個別でなにか記事書きます、出来ること多すぎますし。