moyasiエフェクト館

主にエフェクト関係の記事を上げていこうかと思います。


エフェクトに関係する記事上げてきます
エフェクト関係の記事の内容は緩く募集中
自分がわかる範囲であれば書いていこうかなと。

【UE4】カスケード、発生数やフレーム関係

f:id:tktknkyo:20180518055208p:plain

サムネイルはやや適当です、ご了承ください。

 

今回は、以前よく解ってなかった発生数などに関する内容を。

 

カスケードでの発生数に関する部分は、必須モジュールである「Spawn」モジュールからが主です。

 

Spawnモジュール

f:id:tktknkyo:20180518060036p:plain

持続的に発生させる場合は、基本的にこちらを使うことになると思います

赤線の二箇所はデフォルト設定の20と1

この状態だと、1秒間に(20*1)の数だけ発生(Spawn)します。

数値が二つありますが、この二つは乗算されます、なのでRateに基本となる発生数を入れておいて、RateScaleで、%として調整したりする事もできます。

この場合の利点として、パラメータを公開してBPで発生数を変動させる場合。

発生数そのものを入れる必要がなく、基準の発生数からの割合で大丈夫になります。

これにより、基準からの割合のみで設定できるので、BPで発生数を変えたい場合に、元の発生数を直接入れたりする必要が無いのが楽です。

 

【UE4】Particle Instance Parameter について(解説)

 

パラメータ公開から、BPでの編集手順は、この方が書いてくださってますので、参考にしてください。

 

 

次に、Burstを使う場合

f:id:tktknkyo:20180518061125p:plain

 

BurstListの横にある、+のマークをクリックすると、この様なのが出てきます

Count

基本となる発生数。

 

CountLow

発生数にランダム性を与える場合に使います。

デフォルトの-1は、無効化されている状態です、0以上の数値を入力すると

発生数がCountからCountLowの間からランダムになります。

 

Time

発生するタイミングを時間で設定します、0.5なら0.5秒後に

ただし注意が必要なのは、エミッターが残っている状態でないと、発生されません。

デフォルトの状態で、1以上に設定すると発生しなくなります、恐らく仕様です。

 

BurstScale

RateScaleと同じく、Burstの発生数を一律調整出来ます。

Rateと違い、発生タイミングをずらして多数配置した場合に、全て調整したい場合などにも使えます。

ただしその場合、BPで全体の調整はしにくくはなるので注意。

 

 

発生のタイミングなどの調整などは、Spawnではなく、必須モジュールである「Required」で調整します。

 

Requiredモジュール

エミッターの継続時間などを制御するDuration

f:id:tktknkyo:20180518063008p:plain

 

Emitter Duration

基準となるエミッターの寿命のようなもの。

Spawnで、発生を遅らせる場合、この寿命の範囲内でないと、発生する前にエミッターが消去されます。

ただし、寿命のようなものですが、このエミッターの寿命が越えてもSpawnされたパーティクルが残っている場合には破棄されません。

(それなら、発生遅らせている場合、発生するまで待っても良いのでは?とは思ったりも)

 

Emitter Duration Low

CountLowと似ていますが、こちらは-1などにしても、無効化されません、またデフォルトで0になっています

この下にある、Emitter Duration Use Rangeにチェックを入れると、有効化されます。

 

Duration Recalc Each Loop

これにチェックを入れると、ループする事に乱数を変えてくれるというもの

ループ無しの場合は、基本的に意味を成しません。

例えば、Loop数が5の場合

チェックを入れていない場合、このエミッターが生成された時点で、乱数が決定され、5回のループ中は発生間隔が同じになります。

チェックを入れると、この部分に対してランダム性が出てきます。

主にBurstと組み合わせて使うものになると思います。

 

Emitter Loops

そのままに、何回発生処理を行うか?というもの。

デフォルトで0になっていますが、0の場合無限に繰り返されてしまいます。

焚き火や、滝の水しぶきなどでは、この設定でいいのですが

ヒットエフェクトなどの場合、基本的には1に設定する事が多いと思います。

 

Delay

f:id:tktknkyo:20180518065100p:plain

ディレイ、いわゆる発生を遅らせたりする要素です。

 

Emitter Delay

指定した秒数だけ、エミッターの発生を遅らせることが出来ます。

基本的なディレイです、Emitter Loopsのループさせる場合、ループ毎に発生を遅らせます。

 

Emitter Delay Low

Emitter Duration Lowと殆ど似たようなもので、遅らせる時間に、ランダム性

持たせます、デフォルトでは無効になっています。

有効にしたい場合はその下にあるEmitter Delay Use Rangeにチェックを

 

Delay First Loop Only

チェックを入れるとEmitter Delayで設定した遅延を、ループさせている場合、最初の発生のみにします、多段攻撃などのエフェクトなどにあっていると思います。

 

 

今回はここまでで、この辺が把握できてくると、タイミングや発生数の制御は大体出来ると思うので、自由に作れるようになるのでは?と。