![]() | デフォルトだと、箱が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 を適用することで、衝突させることができます。 過去のウェブには、ソフトボディ同士の衝突はできないという記述があるので、比較的新しく追加された機能のようです。 (必ずしも作用反作用が正しく計算しているのかは分かりません。ただし、ざっと見た限りはきちんと計算しているように見えます。) |