-Blenderでソフトボディシミュレーションをするときの手順と注意点-

1. ソフトボディシミュレーションの導入

剛体は、オブジェクトの形状を保ったまま落下や相互作用をして変形をしました。
それに対して、ソフトボディのシミュレーションは、ポリゴンモデルの各頂点が重力に惹かれたり、相互に引っ張り合ったりしながら移動して形状が変形をします。
(オブジェクトの原点は動きません。動くのは各頂点のみになります。)

■ ソフトボディの適用

デフォルトだと、箱が1つ表示されていると思います。
無ければ、箱を一つ配置します。

箱の物理設定に、Soft Body を適用します。
この状態で、アニメーションをスタート(Alt-A)すると、そのままふよふよと上下運動をします。
これは、各頂点がゆるくスタート地点にピン止め(Goal設定)されているためにこのような運動になっています。
Soft Body Goal 設定をオフにすると、各頂点の運動に制限がなくなります。
この場合はストンと下に落下します。
ストン。
床を配置して、Collision 設定をします。
剛体の時の床とは設定が異なっていることに注意してください。

Collision 設定: パーティクルとソフトボディに対して衝突判定をします。
剛体(Rigid Body) 設定: 剛体同士の衝突判定をします。一緒に落ちてしまわないように、単なる障害物は Passive に設定します。
床と衝突してぶよぶよしています。

これでなかなかよく思えますが、実のところ初期設定のソフトボディは相当柔らかく、すぐにへにゃってしまいます。
立方体の場合は、全く揺らぎがないので形を保っていますが…
ほんの少しでも歪んでいると、自重を支えきれずにつぶれてしまいました。
しかも、ソフトボディという名前からは予想外のつぶれ方で、畳み込まれてしまうように変形します。

これを見てもわかるように、ポリゴンの各エッジが構造を支える梁のような役割をします、(しっかりした梁ではなく、ばねのようにふるまいます)

ポリゴンモデルに張り巡らされたエッジの数と形状、ばねの強度の兼ね合いで全体の振る舞いが決まります。

■ パラメータ設定

エッジのバネの強度などは Soft Body Edges で設定します。

引っ張り(Pull)強度と押し(Push)の強度が重要になりますが、
形状を保つ上で重要なのが、曲げ(Bending)強度になります。

デフォルトでは0なので、上の例ではあっという間につぶれてしまいました。
icosphere に対して、デフォルトパラメータでの落下です。強度はほとんどありません。
Bending を 0.5 にしました。形状の維持ができています。
Pull, Push, Bending を 0.9 にしました。だいぶ固くなった印象です。

これらの大体の感覚をつかんだ上で、実際に使いたいオブジェクトのパラメータをいじることになります。
ところで、2つのソフトボディはそのままだと互いにすり抜けてしまいますが、どちらにも Collision を適用することで、衝突させることができます。
過去のウェブには、ソフトボディ同士の衝突はできないという記述があるので、比較的新しく追加された機能のようです。

(必ずしも作用反作用が正しく計算しているのかは分かりません。ただし、ざっと見た限りはきちんと計算しているように見えます。)

inserted by FC2 system