![]() | 立方体をコピー(Shift-D 又は Alt-D)して、それらが関節状に動作するようにしてみます。x軸方向に並べて、左から順番にCube Cube.001 Cube.002 Cube.003 というように名前をつけています。 左端の Cube を親と考えて、右側のCubeに影響すようにします。 |
![]() | Cube.001 に Rigid Body Constraint (束縛条件)を設定します。 |
![]() | まず、どの物体とどの物体との関係にするのをObject 1 と Object 2 に設定します。今回は親(Cube)と自分(Cube.001)の関係なので、そのように設定しています。 自分を含めない第3者同士の関係に設定する事もできるのですが、どういうときに使うのかが謎です。 Typeはいくつかあるのですが、Generic Spring (一般的+バネ)にしてみました。まず、X Axis, Y Axis, Z Axis を有功にして、「初期の相対位置から」のずれが -1 から 1 の範囲を可動域にしました。 回転は、捻り(X軸回りの回転)が起きないように、X Angle を 0にして、Y Angle を -45度から45度までにしてみました。 さらに、Springが効いているので、動きが少し柔らかくなるはずです。バネのパラメータは初期値のままにしました。 同様にして、Cube.002 には Cube.001 と Cube.002 の関係として設定します。同じように Cube.003 にも設定をします。 |
![]() | 親の Cube は Dynamic ではなくして重力の影響を受けないようにしました。残りの3つのキューブは束縛条件の範囲内のみで運動しています。 |
![]() | 今度は親も Dynamic にして、下に障害物を置いてみました。全体としてある程度動く物体として落ちていきます。 |
![]() | 折角なので、他の例として Hinge を試してみます。親になる物体と自分との関係にして、可動角度の範囲を設定します。 |
![]() | 扉っぽくするためにオブジェクトを薄くしました。回転運動は、オブジェクトの原点を中心に行うので、扉の開閉のように動いてくれるように、全体をずらしています。 |
![]() | 物体をぶつけてみると蝶番のように動きました。 |
![]() | Constraintは基本的にオブジェクトごとのローカルな座標系で計算しています。なので、全体を回転させて Z 軸(青)を横向きにしてみると |
![]() | この様な動きもできます。 |