ここでは、複数のジョイントを使用して、複数のオブジェクトをチェーン状や列状に接続する方法を説明します。
注: 球体のモデルで物理ソルバを使用する必要がある場合は、Asset Browser の polySphere 要素を使用してください。Elements フォルダの Sphere 「要素」には、予期しない結果が生成される可能性のあるジオメトリが含まれています。
単純に 2 つのオブジェクトをジョイントで接続する方法については、「ジョイントの作用を作成する」を参照してください。
ビーズの列を作成するには:
- Viewer ウィンドウで、いくつかの球を一列に並べます。
球を一列に並べた状態
- Asset Browser の Elements フォルダで Null アセットをダブルクリックしてから、Viewer ウィンドウでビーズとビーズの間をクリックします。これを各ビーズごとに繰り返して、最後に[Enter]を押します。
それぞれの球の間に Null を配置する
- 最初のビーズを選択し、その上に Rigid Body 物理プロパティをドラッグします。
- Physical Properties の Setup ペインで、Activation タイプを Passive に設定します。
Setup ペイン A. Passive オプション
- 残りのビーズを Ctrl キーを押しながらクリックし、それらのビーズの上に Rigid Body 物理プロパティをドラッグします。これで、選択したすべてのビーズにリジッド ボディが適用されます。これら残りのビーズで Activation タイプが Active に設定されていることを確認してください。
- Setup ペインで Approximation Setup を展開し、Correct Mass Center オプションをオフにします。
Setup ペイン A. Correct Mass Center オプション
- ビーズ間に配置されているヌルを選択し、それらの上にジョイント物理プロパティをドラッグします。Scene Browser で Joints をクリックして、Navigator ウィンドウにジョイントのプロパティを表示します。
- Ctrl キーを押しながら一番上のビーズと 2 番目のビーズをクリックして選択します。それらのビーズを、Alt キーを押しながら Null Joint Connections フィールドへドラッグします。
- 同じ手順を、残りのすべてのビーズ(ビーズ 2 とビーズ 3、ビーズ 3 とビーズ 4...)に対して繰り返します。
Setup ペインの Null Joint 設定
- 先に親を選択してから、子ノードを選択しなければなりません。
ジョイントでは親子の順番は非常に重要です。この親子関係によって、チェーン内の各オブジェクトの反応の具合が決まるからです。また、親に接続されるオブジェクトの数も違ってきます。たとえば、親オブジェクトには複数の子をジョイントでリンクできますが、子は複数の親を持つことはできません(ソルバ処理の衝突が生じてしまいます)。
- Asset Browser の Solvers フォルダから、Physics ソルバをシーン内へドラッグします。
- Physics ソルバの Solver ウィンドウで Online と Live をオンにします。
一番上のビーズを動かして、他のビーズがどのように反応するかを確認します。ジョイントの設定を調整すれば、動きに柔軟性や剛性を持たせることも可能です。
ビーズが動く様子
注: 物理ソルバの Live をオンにする場合は、物理プロパティ(ラグドール、リジッド ボディ、ジョイントなど)がアタッチされているオブジェクトを選択解除する必要があります。選択されたままだと、オブジェクトが物理ソルバを無視してしまいます。これは、記録時に物理ソルバを Live に設定した状態で、物理プロパティ オブジェクトを選択すると、Transport Controls に表示されているフレーム レートに基づいて FCurve が再計算されるためです。