弾性と摩擦の設定

 
 
 

パーティクルと障害物のリジッドボディを作成したら、弾性や摩擦など、各リジッドボディのプロパティを設定する必要があります。

処理の結果は、衝突に関与するすべてのリジッドボディ(パーティクルと障害物の両方)の組み合わせによって決まります。ポイント クラウドでパーティクルごとに設定したリジッド ボディ属性の値は、[バレット リジッド ボディのシミュレート](Simulate Bullet Rigid Bodies)または[リジッド ボディのシミュレート](Simulate Rigid Bodies)プロパティ エディタで設定された障害物のリジッド ボディ プロパティで乗算されます。

また、直接的なリジッドボディプロパティではありませんが、衝突でどの程度のリジッドボディが跳ね返されるのかを決定する際には、速度と質量も大きな役割を果たします。

障害物の弾性を設定する

弾性とは、衝突時にリジッドボディを反対方向に移動(バウンス)させる運動エネルギーです。

[バレット リジッド ボディのシミュレート](Simulate Bullet Rigid Bodies)または[リジッド ボディのシミュレート](Simulate Rigid Bodies)プロパティエディタでは、そのノードに接続されている各障害物について、[弾性](Elasticity)スライダの値を設定できます。

障害物の[弾性](Elasticity)値は、パーティクルの[Elasticity]属性と組み合わされて、パーティクルが障害物からどれくらい跳ね返るかが決定されます。

この画像では、テーブルの障害物とパーティクルの両方が高い弾性値を持っているため、パーティクルはテーブルから容易に跳ね返ります。

[Elasticity]値の値の範囲は、0(弾性なし)から1(オブジェクトが衝突前と同じ速度で戻る)です。[バレット リジッド ボディのシミュレート](Simulate Bullet Rigid Bodies)ノードでは、1 よりも大きい値を入力できますが、負の値は入力できません。値を 1 より大きくすると、オブジェクトのエネルギーは衝突のたびに増加することになり、シミュレーションが不安定になる可能性があります。

オブジェクトを箱や部屋のような密閉空間の中であちこちに跳ね返らせる場合は、これらのオブジェクトの弾性値を低くする必要があります。

注:[リジッド ボディのシミュレート](Simulate Rigid Bodies)ノードでは、[弾性](Elasticity)値は、1 よりも大きい値を入力できるにもかかわらず、0、1 にクランプされます。

障害物の摩擦を設定する

摩擦は、リジッドボディ同士の間で作用し、モーションに逆らい減衰させる傾向のある抵抗力です。

  • 障害物の[静摩擦](Static Friction)値は、各パーティクルの[StaticFriction]属性と組み合わされ、各パーティクルが停止している場合に、障害物の上でどのようにスライドを開始するかが決定されます。

    静摩擦は、リジッド ボディの状態が静止から運動に変更されるのに逆らう力です。たとえば、勾配面に立方体を置いた場合、静摩擦によって、立方体が平面を滑り込み始めるレベル、または転がり落ち始めるレベルが決定されます。オブジェクトが動き始めてからの静摩擦の影響は非常にわずかになるか、まったくなくなります。

  • 障害物の[動摩擦](Dynamic Friction)値は、各パーティクルの[DynamicFriction]属性と組み合わされ、各パーティクルが動いている場合に、障害物の上でどのようにスライドするかが決定されます。

    動摩擦(または「キネティック」)は、ある動いているリジッド ボディが他のリジッド ボディのサーフェイスの動きにどの程度抵抗するかを決定します。)これはリジッド ボディの動きを遅くする力です。たとえば、カーペットの上で転がした場合は、大理石の上で転がした場合と比べて摩擦の値が大きくなります。

この画像では、テーブルの障害物とパーティクルの両方が高い摩擦値を持っているため、パーティクルはテーブルの上に積み重なります。

[Simulate Rigid Bodies]プロパティエディタでは、[Simulate Rigid Bodies]ノードに接続されている各障害物について、[Static Friction]および[Dynamic Friction]スライダの値を設定できます。

[バレット リジッド ボディのシミュレート](Simulate Bullet Rigid Bodies)プロパティ エディタでは、[バレット リジッド ボディのシミュレート](Simulate Bullet Rigid Bodies)ノードに接続されている各障害物について、[静摩擦](Static Friction)スライダの値のみを設定できます。バレット物理エンジンでは、静摩擦と動摩擦は区別されず、両方を組み合わせて、ただ 1 つの摩擦値をサポートします。

[Static Friction]または[Dynamic Friction]スライダのどちらも値の範囲は0~1です。0は摩擦がない(自由に動ける)状態、1は摩擦が100%(不動)の状態です。負の値や 1 を超える値は入力できません。

リジッドボディパーティクルの弾性と摩擦の設定

[Set Particle RBD(パーティクルRBDの設定)]プロパティエディタで、ポイントクラウドの各リジッドボディパーティクルについて、[Elasticity]、[StaticFriction]、および[DynamicFriction]属性を設定できます。

パーティクルごとに設定したリジッド ボディ属性の値は、[バレット リジッド ボディのシミュレート](Simulate Bullet Rigid Bodies)または[リジッド ボディのシミュレート](Simulate Rigid Bodies)プロパティ エディタで設定された障害物の同じプロパティで乗算されます。

これらの属性を個別に設定する場合は、[Set Data]ノードを作成して、そこに各属性を外部公開します。手順については、ICE パーティクル属性を取得および設定するを参照してください。