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

2. 一部の頂点を固定する、操作する


一部の頂点だけを固定しておく(例えば洗濯物を表現するときに洗濯ばさみで止めた部分に相当します)ことや、
そこを別のオブジェクトを使って動かすということができます。

まず、一点だけ固定するということをしてみます。

■ Soft Body Goal

Vertex Group を作成します。名前はなんでも良いのですが、Goal 機能につかうので、Goal としておきます。

一点だけ Weight 1 で設定して、その他の点は設定しないか、0 にします。

Weight Paint モードで見るならば、このような状態にします。
Soft Body Goal 設定をオンにします。デフォルトでは全ての頂点がDefault値(0.7)でピン止めする状態でした。
頂点グループを設定すると、その Weight に応じてピン止めする頂点としない頂点が設定されます。

※) 最新バージョンでは以前とDefault値による挙動が変わったようです。

ピン止めされている頂点がない場合は、Default 値が全体に使われます。
ピン止めされている頂点が存在する場合には、Group に含まれていない頂点は 0 として計算され、Default値は、各頂点の Weight にかけ合わされて評価されます。
Default値の 初期値 は 0.7 なので、そのままではWeight 値 1 でピン止めされた点も完全に固定されません。 Default値を 1.0 に設定します。
ピン止めされた頂点と、その他の自由に動く頂点に分かれました。

固定された旗などがこれで作れそうです。
2点をピン止めして、風を加えた旗です。ただし、実際には旗のようなものは布シミュレーションの方が良いということなので、ソフトボディを使った旗はあくまでテストと思ってください。

■ Hook

Goal 設定をして、動かないように固定した頂点に対して、Hook 機能を使って 外部から制御をしてみます。

Goal 設定をしてある頂点を選択した状態で、Ctrl-H を使って、Hook メニューを出します。

Hook to New Object を実行すると、Empty が生成されて、Hook された頂点は Empty に引きずられて動くようになります。
モディファイア(Modifier)上にも、Hook という項目が追加されます。

注意点として、以下のようなものがあります。

どの頂点がこの Hook 機能に従うかというのは、そのままでは見ることができません。Select や Assign ボタンを使って、Hook の効いている頂点を確認したり、 別の頂点も Hook に従うように設定したりします。
(Vertex Group の編集と同じような考え方です)

モディファイアの順番を入れ替えて、Hook が Softbody の上にくるようにしないといけません。
そうしないと、Soft Body の計算をした後で、Hookで頂点を動かすことになり、あまり意味がなくなります。
Empty を動かすアニメーションを設定して、Ctrl-A を実行すると、引きずられた頂点を考慮してソフトボディの計算がされていることがわかります。
モディファイアの順番を間違えると、Hook が後から行われて、あまり意味のないアニメーションになります。

inserted by FC2 system