X-particlesで水しぶきを作るメモ | TAKAYUKI YOSHIDA

X-particlesで水しぶきを作るメモ

備忘録。

X-particlesで水しぶきを作る際、機会があまり多くないため毎回うろ覚えとなっており、パラメータ設定等で右往左往してしまうわけです。

 

流体を表現する機能(xpFluidFX、xpFluidPBD、xpSheeter)

私の持っているX-particles(Build732)で水しぶきを作成するのに用いるのがDynamicsのxpFluidFX、xpFluidPBD、xpSheeter。

公式の解説ページをGoogle翻訳で和訳したところ、どうやらxpFluidFXは本格的な流体シミュレーションに。PBDはそれよりやや簡易的な処理になっており、その分高速、らしい。

 

そしてxpSheeterは薄い膜などのディテールを付与するのに使うそう。水滴が落ちて地面で反発する際のクラウン状を表現する際など。

下記の動画が事例として分かりやすいです。

 

↓公式チュートリアルはこちら。

https://insydium.ltd/support-home/video-manuals/x-particles-video-manual/dynamics/xpsheeter/

 

何となくそれぞれ弄った雑感としては、衝突やら落下やら複雑なシミュレーションが必要でなく、水滴を飛ばす程度ならxpFluidPBDのほうが確かに早いかも。ただxpFluidFX、xpFluidPBDで設定項目が違うので、使い分けるのもやや面倒か。。。

 

作成してみる

今回は水が画面中央から縦横無尽に吹き出すような動きを試してみました。使用したのはxpFluidFX。

噴射口の位置や個数を後から細かく調整したかったので、円盤オブジェクトをクローナーで複製して球状に整列したものをEmitterオブジェクトとしました。こうすることで噴射方向を増やしたり、噴射口をエフェクターで揺らしたりできるかなと。

まずxpFluidFX側の設定。ここで落とし穴なのが、xpFluidFXを使う際は、内圧とか外圧とかの設定はここで行うのですが、パーティクル自体の挙動(粘度とか)は、xpFluidFX側ではなく、EmitterのExtended Dataタブで行うということ。

※xpFluidPBの場合はxpFluidPB側で設定します。

↓Extended Dataタブ

Fluidの設定が終わり、パーティクルの塩梅も調整し終えたら、「xpOVDBMesher」を作成し、Emitterを紐づけると、メッシュが生成されます。この機能、使い方が結構豊富で便利そうです。

http://docs.x-particles.net/html/ovdbmesher.php

Filterタブでスムージングの設定ができます。

 

注意点

調整が難しいと感じたのが、パーティクルの量の設定。

最終的にはbirth rateを1000にしましたが、試しに10倍の10000にしたところ、下記のように噴射口からの放射角度がめちゃくちゃになってしまいました。

↓メッシュ化した状態

 

噴射口のサイズに対して噴射量が多すぎたのかと、xpFluidFXの「Int Pressure(内圧)」をデフォルトの100%から0.1まで下げると、一応下記のような状態に。ただシミュレーションとしては破綻しているかと。。。

 

ということで、Fluidの設定項目だけでなく噴射量でも随分とディテールが変わる為、それぞれ調整しながら欲しい表現を探っていく、ということになるかと。

 

便利なプリセット登録

「Save Preset」とという項目があるので、良い感じなものを作れたらSaveしておくのがよさそうです。

良い方法、お進めの設定などありましたら是非情報交換したいです!

追記するかもですが、ひとまずこの備忘録はここまで。

 

コメントを残す