すあまの備忘録

誰得内容の自分のための非営利目的備忘録ブログ(筆者がわかっても内緒にしてください)

Particle Additive Shaderとねじりパーティクル

f:id:godofsuama:20210726002732p:plain
Additive

f:id:godofsuama:20210726002855p:plain
Constant(Emission Only)

魔法みたいなやつとかでよくあるやつ。

元ネタはこの方のチュートリアル。とてもわかりやすいチュートリアルなのでおすすめ。

後半のねじりパーティクルはこのチュートリアルとは関係ないです。

youtu.be

本文は自分用メモ

レンダリング

Lighting(8時間) > Additive(1時間ちょっと) > Constant(30分ちょっと)の順でレンダリング時間が変わる。

Constant Shader

youtu.be

グローをかけた際にのっぺりしがち。コンプで輝度やアルファからマスクを作って調整する必要がある。

動画のグローはAdditiveと同じ設定。

Constant Shader Comp

youtu.be

Constantの素材に下図のようなAlphaでの輝度調整を追加した状態。

f:id:godofsuama:20210726002420p:plain

Additive Shader

youtu.be

Additive Shaderだと密度の高いところがより明るくなってグロー処理がかけやすい。

例のものはexpoGlow一発かけただけ。

魔法系は結構この見た目が良いことが多い。

Lighting

youtu.be

ライティングすると陰影が乗るので立体感のあるパーティクルになる。

ただしレンダリングも重くなる。

Additiveよりもpscaleを大きくしたり数を増やすとより立体感が乗っていい結果になる。

↑の動画のはAdditiveの2倍のpscaleになっている。

シェーダー

一番最初のチュートリアルを見ればわかりますが、Alphaを下げるだけです。

あとはそれに見合うようにパーティクルをいっぱい出す!

この手法での素材、After Effectsだとちょっと変な結果になったと記憶しているのでそこだけ注意。

ねじりパーティクル

f:id:godofsuama:20210726010404g:plain
量を減らした別アングル

f:id:godofsuama:20210726010552g:plain
POP Forceなしの状態

ゴール(実際は1ポイント)に向かって進みつつ回転するパーティクルになっている。

基本的にゴールが急激な動きをするとパーティクルの動きはおかしくなる。(vの向きが急激に変わるのがダメ)

エミッター

GridにノイズをかけてScatterしたもの。特別なことはなし。

f:id:godofsuama:20210726010902p:plain

ゴール

手で動かしてもいいが、今回はPOPで1ポイントだけエミットし、POP Forceで適当に動かしたもの。

vを使用するので、Transform等で動かした場合はTrailなどでvを計算しておくこと。

f:id:godofsuama:20210726011021p:plain

POP Sim

DOPの第二入力にゴールをつなぐ。1ポイントしか対応していないので注意。

f:id:godofsuama:20210726011320p:plain

f:id:godofsuama:20210726011400p:plain
DOP内

POP Wrangle

Inputタブを以下の画像のように変更する。

f:id:godofsuama:20210726011542p:plain

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つのパラメーターが追加される。

f:id:godofsuama:20210726012029p:plain

Rot:渦を巻く強さ Suction:ゴールに向かう強さ Blend:Wrangleで作成したvとそれ以前のvの混ぜ具合

Rotをマイナスにすると逆方向に回転する。

POP Force

作例では以下の画像のように設定

f:id:godofsuama:20210726012357p:plain

ゴールをKeyframeで動かした例

f:id:godofsuama:20210726013244g:plain