-Blenderでパーティクルを使う手順と注意点-

2. パーティクル制御(障害物と場)

■障害物の設定。

粒子を通さない障害物を設定することができます。

床(障害物)になるオブジェクトを配置して
物理設定でCollisionを設定します。
衝突用の設定があります。基本的なパラメータとしては、Damping(減衰)と Friction(摩擦)、そしてKill Particles(接触した粒子を消す)でしょうか。

Collision の設定をよく見ると、SoftBody(弾性体) や Cloth(服)の衝突設定もあるのが分かります。その内にそれらも調べたいものです。
デフォルトだと Damping(減衰) が 0 なのでほぼ完全に跳ね返ります。
Damping を 1 にすると、このように垂直方向の速度が殺されました。

■場による粒子の制御(粒子側設定)。

今後粒子を制御するために、障害物や風を配置してゆきます。

その際に、粒子がどれだけの影響を受けるかの度合いは、ParticleSystem側のFieldWeightで設定することができます。

Gravityの影響を-1にすると、上に落ちてゆく粒子になります。

上に落ちてゆきました。

■場による粒子の制御(場 Force Field の設定)。

場(Force Field)をシーンに追加します。
もしくは、Emptyを作って、あとから場を設定しても実質同じことになります。

例えば風を設定してみます。
Strengthなどを設定します。

デフォルトではシーン全体が場の影響下になります。一部の領域だけに影響を及ぼすようにするには、Falloff(減衰)を使います。

Power(べき)に応じて、影響が弱まっていきます。0の時は減衰無しです。
Sphereなら、原点を中心に等方的に弱まっていきます。
もう少し細かい調整をするときには、Tubeなどを使います。
少しわかりづらい設定がFlowです。Flowを1にすると場を空気の流れと解釈します。

今、重力を切って上向きの風(Wind)を与えると、粒子は空気の流れに乗ろうとして、
速度が一定になるように粒子が上に流れていきます(右)。
空気がある世界では、このほうが扱いやすいかもしれません。

Flowを0とすると、流れではなくて力と解釈します。力を受け続けて、粒子は上へ上へと際限なく加速をしていきます(左)。
宇宙空間に漂う粒子などではこちらのほうが良いかもしれません。
Tube状に減衰させてみます。Radial方向への減衰のPower(べき)を与えてみました。
エミッタを四角い板にして粒子を発生させています。
このように中央部分だけ場の影響を受けて上に盛り上がりました。
(風(Wind)の場合は、このほかに「Shape」をPointに設定しないといけないようです。)

■おまけ(Forceの減衰のべきって正確?)

おまけですが、減衰する力場を表現できるのであれば、Powerの値を2にすれば、重力場の計算とかできるんじゃないかな?とも思えるのですが、正確なものだとは考えないほうがよさそうです。

ちゃんと楕円(ケプラー)軌道に乗る場合もありますが
Falloff の Minimum の値を少し変えるだけで、軌道が閉じなくなってしまいました。
(正しい重力場なら、必ずスタート地点に戻ってくる)

完全に想像ですが、中心で計算が破たんしないようにとか、いろいろと補正が入って、本当の重力の式にはなっていないのだと思います。

inserted by FC2 system