衝突判定
このオプションは、タグが割り当てられているオブジェクトが独自の階層を持つ場合(また、次の選択メニューが適用するクローン生成オブジェクトではない場合)に適用されます。また、このオプションでは、タグ付きオブジェクトの下にある階層(存在する場合)を、衝突オブジェクトとして含めるかどうか定義します。
このタグに所属する全ての階層が、ダイナミクスに関しては無視されます。このタグが付いているオブジェクトのみ衝突しますが、オブジェクトのダイナミクス移動は、子オブジェクトを「引きずって」きます。
このタグは、全ての子オブジェクトに割り当てられます。子オブジェクトは、まるで階層に所属していないかのように、全く別々に動作します。
タグが割り当てられているオブジェクトの階層全体は、単一の固定オブジェクトと見なされます。
このパラメータのモードは、Textなどのようなオブジェクトを生成するジェネレータ用に設計されています。モードは、別々に衝突する、または全体として衝突するかなど、オブジェクトの衝突の仕方によります。
たとえば、MoGraph Text 用には、テキストの衝突に関して次の項目が適用されます。
テキストオブジェクト全体が衝突オブジェクトになります。
テキストの各行が個々の衝突オブジェクトになります。
各単語が個々の衝突オブジェクトになります。
各文字が個々の衝突オブジェクトになります。
このオプションは、以下を調節するために使用します。
- ソフトボディの変形では、オブジェクトを交差させるためにクエリが作成されます。このオプションを無効にすると、レンダリング速度の最適化に役立ちます。これは、オブジェクトに、その形状またはパラメータ(たとえばタイヤや風船など)の結果として、自己衝突の傾向がない場合のみ実行します。
- このタグがクローン生成オブジェクト(クローナーオブジェクト、テキストオブジェクトなど)に割り当てられている場合は、このオプションは個々のオブジェクト同士の衝突検出を定義します。
デフォーマを使って衝突オブジェクトを変形します。衝突の形状に影響します。ときには(例えば、詳細タブ設定を使って変形できるボロノイ分割オブジェクト)、変形は小さくて、追加の変形のないオブジェクトが衝突プロセスの速度をあげるために使われます。このような場合、このオプションを有効にしてください。
一般に、衝突検出は計算に時間のかかる処理ですが、リアルなオブジェクト動作を生み出します。オブジェクトは反発させたり、摩擦で静止させたりすることなどができます。形状が複雑であればあるほど、衝突検出の計算に時間がかかります。そのため、このメニューは、衝突オブジェクトの周りに置くことができる、代替の形状を提供します。これにより、レンダリング時間が大幅に節約できます。離れて見ると、アニメーション中の衝突検出のために、実際のオブジェクトが使われているのか、代替オブジェクトが使われているのか、識別するのは非常に困難です。使用できる形状は、衝突判定タブの 衝突判定の形状 オプションメニューにあります。
使用できる代替形状を、レンダリング速度最高から最低までの順序で並べると、ボックス、楕円、円柱、凸包、固定メッシュ、可動メッシュになります。
下記のモードには次の事項が適用されます。自動 は、その他のモードのレンダリング時間を最適化できるので、常時使用が適しています。
下記のモード(それ以外にもいくつかあります。たとえば、床オブジェクトは独自の類似性を伴います)は、使用するオブジェクトに応じて内部で自動的に割り当てられます。たとえば、プリミティブは自動的に1つのモードに割り当てられます。立方体はボックスモードに、ポリゴンオブジェクトは固定メッシュまたは凸包モードに割り当てられます。対応するオブジェクトにとって最適なモードは、自動的に選択されます。異なるモードへの変更が、レンダリング時間の節約に役立つ場合もあります。たとえば、小さい球状のオブジェクトのいくつかで作業をしている場合は、オブジェクトは凸包モードに自動的に割り当てられますが、より速くレンダリングでき、見た目にはほどんど変わらない楕円モードに割り当てることもできます。
これは主に古いシーンを読み込こむ互換性の設定です(凸包の代りに固定メッシュを対応するオブジェクトに適用します)。
オブジェクトの境界ボックスと同等のものです。オブジェクトの外側の最大寸法でオブジェクトを取り囲みます。
オブジェクトの境界ボックス内に収まる楕円(「ボリュメトリック」楕円形)は、衝突オブジェクトに合わせられます。たとえば、立方体では、これは立方体の6面全てに接触する球体になります。
この3つの設定は、主にタイヤ衝突形状で使用するように設計されています。(内部で最適化された)円柱の衝突オブジェクトは、タグオブジェクトの境界ボックスに合わせられます。あとはこれにマッチする軸を選択するだけです。最後に、タイヤモデルを円柱の回転軸とする場合は、その回転軸を定義します。
ゴム表皮のタイプがオブジェクトの周りに置かれます。くぼみ、空洞、穴は、衝突に含まれません。
固定メッシュに加え、これは簡略バージョンではなく、実際のオブジェクトジオメトリを使用する唯一のモードです。任意のオブジェクトは、動いている間でも、常に全体としての衝突がチェックされます。
なお、このモードでの計算には、より時間がかかります。また、他の問題もあります(たとえば交差、オブジェクトの凝集など)。問題が起きた場合は、シンプルな代替オブジェクトと一緒に、別オブジェクトオプションを選択することをお勧めします。
オブジェクトの(簡略バージョンではなく)実際のジオメトリが使用されているため、可動メッシュの次にレンダリングに最も時間のかかるモードです。
ただし、ダイナミクスから能動的に影響を受ける全てのオブジェクト(
)は、静的(非移動)衝突オブジェクトとして見なされます。固定メッシュという名前を文字どおりに受け取って構いません。このモードは、たとえば、球体が空洞として計算され、ダイナミクスオブジェクトが内側で跳ね返る場合に使用します。
ボディは全く衝突しません。全ての動的オブジェクトは、ボディを通り抜けます。
このモードでは、代替衝突オブジェクトを割り当てすることができます。仮に、何百万ものポリゴンから構成される高解像度のオブジェクトで作業をしていて、オブジェクト特定の場所のみが衝突で使用されるものとします。これを計算するのは骨の折れる仕事です。しかし、オリジナルオブジェクトの形状にだいたい一致し、数百万のポリゴンのみから構成されている代替オブジェクトを使用すると、計算がはるかにスピードアップします。このオプションを選択すると、リンクフィールドが使用できるようになります。リンクフィールドには代替オブジェクトを入れることができます。なお、代替オブジェクトの場所はどこでも影響ありません。代替オブジェクトを選択すると、オブジェクトはオリジナルオブジェクトの基点に自動的に置かれます。
代替オブジェクトの(内部)衝突形状は、今度は上記で説明したルールを順守します(オブジェクトがダイナミクスボディタグを持たない場合は、オブジェクトの形状を自動に設定します)。形状をより正確に定義するために、ダイナミクスボディタグを代替オブジェクトに割り当てることもできます。また、有効にするオプションを無効にすることもできます。
代替衝突オブジェクトをこのフィールドにドラッグします(前のパラメータを参照)。
この値を使用して、オブジェクトの衝突フィールドのサイズを増加(正の値)または減少(負の値)させます(次のパラメータマージンとは異なり、オブジェクトの形状が維持されます)。このパラメータは、特定の効果を作成するために設計されています。たとえば、煉瓦がそれぞれの間にあるギャップに浮いている煉瓦壁は、本物の壁のように動作します。また、たとえば、目に見えるオブジェクトの貫通を作成するとき、フレームあたりのステップ数値の増加を避けたい場合は、このパラメータを適用することもできます。
この設定は通常、変更する必要がありません。マージンパラメータは、衝突判定のマージン に対して、シーン全体の設定を反映します。ここでは、オブジェクトレベルでの定義のみできます。
また、この値は「0」まで落とすことができます。これによりレンダリング時間が減りますが、安定性も低くなります。極端に低いマージン値は、オブジェクトが貫通する原因になります。
障害のあるレンダリング、または誤った衝突が起きる場合は、この値を高くすることが通常、推奨されます。ただし、高い値は、フレームあたりのステップ数 値増加の原因にもなります。
一般に、プリミティブのエッジは丸みを帯びます。
サイズの増分パラメータとは異なり、マージンパラメータは、ダイナミクスの安定性の最適化にのみ役立ちます。
このオプションは、たとえば、硬いサーフェイスでの凹みの維持に適しています(実際、ソフトボディとは反対のことをします)。このオプションは、ソフトボディ をポリゴン/ラインで作成 からオフ へ設定した場合、ソフトボディの変形した形状を凍結する以外には何もしません。残るのは変形したリジッドボディです。
2つのオブジェクトが衝突するとき、この値はオブジェクトがお互いに反発するフォースの測定単位になります。「0」に近い値は、たとえば2つの塑像用粘土の球体が衝突する場合など、非弾性の反発になります。「100%」に近い値は、たとえば2つのビリヤードボールが衝突する場合など、より顕著な反発になります。
物理的に正しい値は、「0%」から「100%」の範囲です。
なお、衝突する各オブジェクトに対してそれぞれ1つの値があるため、このモードには常に2つの値があります。たとえば、床も特定の弾力性を持ちますが、衝突オブジェクトの1つである反発値が「0」の場合、2番目のオブジェクトは、「1000%」が割り当てられている場合でも、反発しません。
互いに衝突するオブジェクトがいくつかある場合は、低い値を入れると、全てのオブジェクトが早めに静止するようになります。
物理には、基本的に下記の3つの種類の摩擦があります。
- 静止摩擦
- 動摩擦
- 転がり摩擦
Cinema 4Dでは、静止摩擦と動摩擦は摩擦という1つのパラメータに組み合わされています。摩擦パラメータは、オブジェクトがサーフェイスまたは他のオブジェクトを滑るときに遭遇する制動力、あるいは、静止オブジェクトをサーフェイスまたは他のオブジェクトの上で滑らせる力の測定単位です。両方の摩擦タイプは同等です。なお、2つのオブジェクトは常に摩擦係数の方程式に関与し、各オブジェクトは、異なる摩擦係数の値を定義することができます。1つのオブジェクトが「0%」の値を持つ場合は、もう一方のオブジェクトの摩擦の値がどんなに高くても、その摩擦を増加させることはできません。
一般に、値が高ければ高いほど(「100%」より大きくすることができます)任意のオブジェクトの滑りの程度が低くなるか、転がったりひっくり返ったりする程度が高くなります。互いに衝突するオブジェクトがいくつかある場合は、低い値を入れると、全てのオブジェクトが早めに静止するようになります。
Cinema 4Dでは、転がり摩擦は意図的に含まれていません。ただし、転がり摩擦は 回転ダンピングを使用してシミュレートすることができます。
衝突の動作です。いくつかのオブジェクトが床に落下し、衝突の動作がずっと同じであるということを想像してみてください。これでは、リアリズムが全くありません。
衝突ノイズの値が大きければ大きいほど、個々のオブジェクトの動作がより多様になります。