Top >> Blender  >> Rigid Body で紐の動きを表現

Rigid Body で紐の動きを表現


Rigid Body によって紐を表現してみました。

動画を以下に示します。

動画ではSoft Body とかでいろいろ試していますが、本記事では Rigid Body と Curve と Hook を使って表現する方法を書いています。

 

 

では設定内容についてみていきます。

 


1.紐の動作をさせるオブジェクトの設定

[Shift] + [A] によってオブジェクト Cylinder を追加。サイズなどを変更し紐の一部として使えるように変形します。

次にプロパティ エディタ から physics ボタンを押し Riigid Body をチェックします。

Rigid Body としたオブジェクトを [Shift] + [D] によって複数複製し以下のように並べます。

(以下の図では15個作成していますが、数は適当で構いません。)

並べたオブジェクト同士を結合させていきます。

隣り合ったオブジェクトを [Shift] を押しながらマウスの右クリックで選択し、3DView のシェルフの physics から Connect をチェックします。

すると、以下の図のようにオブジェクトの間に Empty オブジェクトが追加されます。これがオブジェクト間を制約(結合)させています。

制約のタイプはデフォルトでは Fixed (固定) となっています。

動きが欲しいため、Point へ変更してます。

他のオブジェクト同士も同様に Connect していきます。

 

2.その他のオブジェクトを追加

紐の両端に重りとするオブジェクトを追加し、紐と同様に Riigid Body をチェックし、紐オブジェクトと結合も行ないます。

また、滑車と床を作成し Riigid Body をチェックします。

この滑車と床は動かないようにするため、Rigid Body のタイプをデフォルトの Active から Passive へと変更します。

また、滑車は紐が引っかかるように真ん中をへこませてありますが、Rigid Body Collisions の Shape (形状) の設定値がデフォルト値の Convex Hull のままでは

へこみを認識してくれません。そのため Mesh に変更する必要があります。

 

3.紐となる Curve オブジェクトの追加

[Shift] + [A] を押し Curve >> Bezier を選択。

[Tab] を押して Edit モードに入り、制御点を増やし紐の動きをするオブジェクトに1対1で対応するように配置します。

制御点を一気に増やしたい場合は [W] >> Subdivide を行ないます。減らす場合は [Delete] を押せば削除できます。

次に Curve オブジェクトの制御点と紐の動きをするオブジェクトを関連付けます。

制御点を選択し [Ctrl] を押しながら紐の動きをするオブジェクトを選択し、[Ctrl] + [H] を押して "Hook to Selected Object" を選択します。

他の制御点に関しても同様に行ないます。

これで Rigid Body の動きに合わせ Curve オブジェクトが動いてくれます。

Curve オブジェクトに太さを加えるため、プロパティ エディタの Data ボタンを押し Fill にて Full を選択します。

そして Geometory パネル >> Bevel >> Depth の値を適当に入れます。

これで設定は終わりです。

後は [Alt] + [A] を押せば動く様子が確認できます。

紐の動きを変えたいのであれば、Rigid Body の重さ( Mass )を変えてみたり、Rigid Body 間の制約のタイプを Point から Generic に変えて制御するなどしてみると良いかもしれません。


Top >> Blender  >> Rigid Body で紐の動きを表現