パーティクルを使う

今回はパーティクルです。

ブラシによるペイントはお絵かきソフトのペイントと同様に筆で描いていくような表現には使えるのですが、さすがにそれだけだと難しい表現もあります。

例えばガラスのひび割れや漏れたオイルが垂れてくる表現などです。

これらをペイントブラシで表現できる人もいるでしょうけど、そうでない人にとっては割と難しいシロモノです。

これをある程度サポートしてくれるのが Substance Painter に存在しているパーティクルです。

[Shelf] ウィンドウの [Particles] タブにはいくつかの挙動を行うパーティクルが存在しています。

sp052.jpg

これらはオブジェクトとの当たり判定も取ってくれますし、重力方向に垂れていくような挙動をするものもあります。

使い方はブラシの代わりに選択し、欲しいところに吹きつけてやればOKです。

例えば [broken glass] を使ってみましょう。

[Particles] タブから [broken glass] を選択します。

sp053.jpg

次に、[Properties] ウィンドウの [サイズ] を少し小さめに、[Spawn Radius] を0にします。

また、有効チャンネルは [height] と [rough] のみにして、[height] は -1.0、[rough] は適当に大きめの値にしましょう。

sp054.jpg

これでサンプルロボットの顔面に吹き付けてみましょう。

sp055.jpg

このように、ガラスのひび割れっぽい表現になります。

パッと見はガラスのひび割れっぽく見えるのですが、少し近づいてみるとこんな感じになってます。

sp056.jpg

パーティクル(粒子)によって処理しているため、どうしてもつぶつぶが見えてしまいます。

これに対応する1つの手段としては、1回のパーティクルのシミュレーション時間を短くして、より細かなパーティクルシミュレーションを行わせる方法があります。

これは [Properties] ウィンドウの [dt] という項目が該当します。dt は "Delta Time" の意味でしょう。

デフォルトでは 0.01 になっていますが、これを 0.001 にして再度吹き付けてみます。

どうでしょう?動きましたか?

多分、まともに動かなかったんじゃないでしょうか?

うちの環境では完全に応答しなくなりましたw

これは秒間のシミュレーション回数が多すぎるためにPCが悲鳴を上げた結果です。

パーティクルのシミュレーション方法によっても異なりますが、dt を 0.001 にするとほとんどのパーティクルでかなり重くなるはずです。

では、もう少し自重して 0.003 にしてみましょう。

結果はこうなりました。

sp057.jpg 

前に比べるとマシになった気がしますが、それでも粒子感は残ります。

パーティクルで処理を行っているため、この問題は簡単には解決できないものと思われます。

速度や寿命などをいじることでもある程度対応できますが、万能な解決方法はあまりないようです。

というわけで、パーティクルを使ってロボット君に少しだけ装飾を入れてみます。

sp058.jpg

顔のひび割れは [fracture] に変更しました。

また、胸の辺りのオイル漏れは [heavy leaking] を使っています。

このように、完璧ではありませんが、ある程度の物理的表現はパーティクルを使うことで対応が可能です。

次回はフィルタを紹介します。