魔法みたいなやつとかでよくあるやつ。
元ネタはこの方のチュートリアル。とてもわかりやすいチュートリアルなのでおすすめ。
後半のねじりパーティクルはこのチュートリアルとは関係ないです。
本文は自分用メモ
レンダリング
Lighting(8時間) > Additive(1時間ちょっと) > Constant(30分ちょっと)の順でレンダリング時間が変わる。
Constant Shader
グローをかけた際にのっぺりしがち。コンプで輝度やアルファからマスクを作って調整する必要がある。
動画のグローはAdditiveと同じ設定。
Constant Shader Comp
Constantの素材に下図のようなAlphaでの輝度調整を追加した状態。
Additive Shader
Additive Shaderだと密度の高いところがより明るくなってグロー処理がかけやすい。
例のものはexpoGlow一発かけただけ。
魔法系は結構この見た目が良いことが多い。
Lighting
ライティングすると陰影が乗るので立体感のあるパーティクルになる。
ただしレンダリングも重くなる。
Additiveよりもpscaleを大きくしたり数を増やすとより立体感が乗っていい結果になる。
↑の動画のはAdditiveの2倍のpscaleになっている。
シェーダー
一番最初のチュートリアルを見ればわかりますが、Alphaを下げるだけです。
あとはそれに見合うようにパーティクルをいっぱい出す!
この手法での素材、After Effectsだとちょっと変な結果になったと記憶しているのでそこだけ注意。
ねじりパーティクル
ゴール(実際は1ポイント)に向かって進みつつ回転するパーティクルになっている。
基本的にゴールが急激な動きをするとパーティクルの動きはおかしくなる。(vの向きが急激に変わるのがダメ)
エミッター
GridにノイズをかけてScatterしたもの。特別なことはなし。
ゴール
手で動かしてもいいが、今回はPOPで1ポイントだけエミットし、POP Forceで適当に動かしたもの。
vを使用するので、Transform等で動かした場合はTrailなどでvを計算しておくこと。
POP Sim
DOPの第二入力にゴールをつなぐ。1ポイントしか対応していないので注意。
POP Wrangle
Inputタブを以下の画像のように変更する。
Wrangleに以下を記述
vector org = point(1,"P",0); vector up = point(1,"v",0); up = normalize(up); f@dist = distance(@P, org); vector pos = normalize(@P - org); vector v2 = cross(pos, up) * chf("rot"); v2 += -pos * chf("suction"); v@v = lerp(@v, v2, chf("blend"));
3つのパラメーターが追加される。
Rot:渦を巻く強さ Suction:ゴールに向かう強さ Blend:Wrangleで作成したvとそれ以前のvの混ぜ具合
Rotをマイナスにすると逆方向に回転する。
POP Force
作例では以下の画像のように設定
ゴールをKeyframeで動かした例