複数のソルバを使って衝突を分離する

衝突するオブジェクトの集合体に対してそれぞれ 1 つずつ、複数のソルバを作成することができます。互いに衝突するオブジェクトにのみ同じソルバを使用することで、各リジッド ボディ ソルバが不必要なオブジェクトの存在を追跡するのを避けることができ、さらには処理時間も短縮することができます。

シーン内で最初のリジッド ボディを作成すると、特に別のソルバを作成しない限り、そのリジッド ボディおよびそれ以降に作成されるすべてのリジッド ボディを制御するリジッド ボディ ソルバが作成されます。別のソルバを作成した場合、そのソルバはそれ以降作成されるリジッド ボディを制御します。それぞれのソルバには、それが制御するリジッド ボディに作用する個別のアトリビュートがあります。フィールドは、ソルバに関係なく、任意のリジッド ボディに接続することができます。

新規ソルバを作成するには

  1. ソルバ > リジッド ボディ ソルバの作成(Solvers > Create Rigid Body Solver)を選択します。

    ソルバには rigidSolver1 などの既定の名称がつきます。この名前は、ソルバ > 現在のリジッド ボディ ソルバ(Solvers > Current Rigid Solver) > rigidSolver# を選択したときに表示されるリストの一番下に現れます。

ソルバにリジッド ボディを割り当てるには

  1. ソルバ > 現在のリジッド ソルバ(Solvers > Current Rigid Solver)> rigidSolver# で、リストからソルバを選択します。
  2. リジッド ボディを作成します。

    リジッド ボディは、前の手順で選択したソルバによって制御されます。たとえば rigidSolver3 を選択してから球をアクティブ リジッド ボディにした場合、その球は rigidSolver3 によって制御されます。

異なるソルバにリジッド ボディを移動するには

  1. リジッド ボディを選択します。
  2. コマンド ライン(Command Line)またはスクリプト エディタ(Script Editor)に次のコマンドを入力します。
    rigidBody -edit -solver 
    solverName

    このsolverNameは、リジッド ボディが使用するソルバです。