リジッド ボディに関する問題を解決する
 
 
 

リジッド ボディやリジッド ボディ コンストレインの操作において、警告またはエラー メッセージが表示されることがあります。このセクションでは、よく表示されるメッセージとその解決法を説明します。

リジッド ボディを作成する時に出力されるエラー

 Error: Attempting to create a rigid body from the shape or hierarchy ‘object’ which already contains a rigid body. 

このメッセージは、すでにリジッド ボディが作成されているオブジェクトまたはオブジェクト グループからリジッド ボディを作成しようとしたことを意味します。1 つのオブジェクトまたはオブジェクト グループでは、1 つのリジッド ボディしか作成することができません。

オブジェクトのリジッド ボディを削除してから、リジッド ボディを作成し直します。

 Warning: The surface of rigid body ’rigidBody1’ may be reversed. Reversing the surface may avoid interpenetration errors. 

このメッセージは、リジッド ボディのサーフェスが誤った方向を向いているとリジッド ボディ ソルバが計算した場合に出力されます。リジッド ボディのサーフェスは、その一方の側(法線が外側に向かっている側)だけが他のリジッド ボディのサーフェスと衝突することができます。

NURBS サーフェスまたはポリゴン オブジェクトの法線を反転させます。

 Error: The rigid body cannot be created because the selected shape contains polygons which do not have unique vertices. Use the polygon tools to determine bad polygons. 

このメッセージは、2 つ以上の一致する頂点があるポリゴンを 1 つ以上含むオブジェクトからリジッド ボディを作成しようとしたことを意味します。たとえば、4 つの頂点を持つ三角形がオブジェクトに含まれる場合などです。

ポリゴン モデリング ツールを使用してポリゴンを修正します。

 Warning: Selected item "rigidBody1" is not deformable.

このメッセージは、デフォーマ、スキン、またはフレクサが適用されたオブジェクトからリジッド ボディを作成しようとした場合に出力されます。リジッド ボディは変形させることができないため、デフォーマを適用した時に隠された、元の変形されていないオブジェクトにリジッド ボディが適用されます。その結果、リジッド ボディが誤ったタイミングで衝突するように見えることがあります。

たとえば、ラティスの変形から隆起しているアクティブ リジッド ボディの球体をアニメートするとします。隆起部は、隣接するパッシブ リジッド ボディの立方体と衝突する代わりにそれを貫通します。この場合、球体の元の変形されていない部分が立方体にぶつかるまで、コリジョンは発生しません。

なし。(None.) これは単なる警告メッセージです。

重心を設定する時に出力される警告

 Warning: The center of mass is locked. To edit the center of mass, set the ’lock center of mass’ attribute to false. 

このメッセージは、オブジェクトの重心をロック(Lock Center of Mass)アトリビュートがオンの時に重心(Center of Mass)を変更しようとした場合に出力されます。

重心を変更する場合は、まずリジッド ボディを選択します。次に、アトリビュート エディタ(Attribute Editor)を表示し、重心をロック(Lock Center of Mass)をオフに設定します。

リジッド ボディが衝突に失敗した時に出力されるエラー

 Warning: Rigid Body interpenetration occurred between ’rigidBody1’ and ’rigidBody2’.

リジッド ボディのサーフェスは、その一方の側(法線が外側に向かっている側)だけが他のリジッド ボディのサーフェスと衝突することができます。2 つ以上のリジッド ボディが互いを貫通すると、相互貫通が発生します。これは、1 つのボディが別のボディの誤った側を通過する場合に発生します。

あるパッシブ リジッド ボディが他のパッシブ リジッド ボディを貫通するのは可能ですが、アクティブ リジッド ボディが他のリジッド ボディを貫通するのは、それがパッシブであろうとアクティブであろうと無効な動作です。

どのオブジェクトが相互貫通するか分からない場合は、アウトライナ(Outliner)を確認します。この警告メッセージの出力後、該当するオブジェクトが強調表示されます。

リジッド ボディをキャッシュした時に出力される警告

 Warning: The rigid body is currently cached. Changing an attribute will have no affect until the cache is manually deleted via the Solvers->SceneCaching->Delete menu.

このメッセージが出力されるのは、リジッド ボディについてソルバ > メモリのキャッシング > 有効化(Solvers > Memory Caching > Enable)を選択し、次に、そのリジッド ボディにあって、リジッド ボディの移動または回転に影響するアトリビュートを変更した場合です。リジッド ボディはキャッシュされるため、リジッド ボディの移動および回転情報はキャッシュから取得されます。キャッシュを削除しないと、リジッド ボディに対するエフェクトを確認することはできません。

そのリジッド ボディを選択し、ソルバ > メモリのキャッシング > 削除(Solvers > Memory Caching > Delete)を選択します。

ソルバがリジッド ボディのダイナミクスを計算する時に出力されるエラー

 Error: Error detected in rigid solver computation. Solution may be invalid. 

無効な内部計算が発生しました。リジッド ボディ コンストレインの力が矛盾している可能性があります。通常このメッセージは、誤ったコンストレインの配置を示す警告と一緒に出力されます。

リジッド ボディが他のリジッド ボディを貫通するようにリジッド ボディ コンストレインが設定されている場合は、コンストレインまたはリジッド ボディの位置を変えます。

リジッド ボディのコネクションを削除する時に出力される警告

 Warning: Cannot disconnect: ’rigidBody1.choice’ from ’rigidBody_tx.selector’. To force the disconnection, set the ’Allow Disconnection’ attribute in the attribute editor. 

ディペンデンシー グラフでは、リジッド ボディ(Rigid Body)ノードは、いくつかの選択されたノードを介したコネクションを持つリジッド ボディ オブジェクトのトランスフォーム ノードを制御します。選択されたノードを使用すると、パッシブ リジッド ボディの移動(Translate)および回転(Rotate)アトリビュートにキーを設定して、キーからダイナミクスに切り替えたりまたはその逆の切り替えを行うことができます。

一般に、トランスフォーム ノードの移動および回転アトリビュートへのコネクションは、たとえばチャンネル ボックス(Channel Box)でアトリビュートを選択した後にチャンネル > コネクションの解除(Channels > Break Connections)を選択することで解除することができます。リジッド ボディのトランスフォーム ノードの場合、このようなコネクションを解除すると、トランスフォーム ノードの制御をリジッド ボディが失ってしまうことがあります。このため、通常の方法でコネクションが解除されないようになっています。

リジッド ボディへのキーフレーム コネクションを削除するには、ソフト/リジッド ボディ > リジッド ボディ接続の解除(Soft/Rigid Bodies > Break Rigid Body Connections)を選択します。これによって、リジッド ボディによって特に使用されていないリジッド ボディへのコネクション(たとえばキーフレームへのコネクション)はすべて削除されます。

リジッド ボディから選択されたノードまたはリジッド ボディ ソルバへのコネクションを解除するには、まずリジッド ボディまたはリジッド ボディ ソルバを選択します。次にアトリビュート エディタ(Attribute Editor)を表示し、コネクト解除の許可(Allow Disconnection)をオンに設定します。このようなコネクションを解除した場合、予期しない結果になることがあります。