2 つのコライダーが接触すると、物理演算システムは各コライダーの表面プロパティを使用して、2 つの表面間の合計摩擦とバウンスを計算します。
Unity では、Physic Material アセットを使用してこれらのパラメーターを制御します。Physic Material アセットは API で PhysicsMaterial クラスによって表されます。
Physic Material アセットには、Friction Combine (PhysicsMaterial.frictionCombine) と Bounce Combine (PhysicsMaterial.bounceCombine) の 2 つのプロパティがあります。これらのプロパティはそれぞれ 4 つのオプションを提供します。これは、物理演算システムが 2 つのコライダー間の合計摩擦とバウンスを計算する方法を制御するためのオプションです。
| Priority | プロパティ | 説明 |
|---|---|---|
| 1 | Maximum | 2 つの値のうち大きい方を使用します。 |
| 2 | Multiply | 一方の値に他方の値を乗算した合計を使用します。 |
| 3 | Minimum | 2 つの値のうち小さい方を使用します。 |
| 4 | Average | 2 つの値の平均、つまり両方の値の合計を 2 で割った値を使用します。 |
Friction Combine は、Dynamic Friction と Static Friction の両方に適用されます。
表のプロパティは優先順に記載しています。Unity では、コライダーペアで、異なる組み合わせ設定の Physic Material アセットを持つコライダーが優先されます。例えば、1 つの Physic Material アセットの Friction Combine が Average に設定されており、他方の Physic Material アセットの Friction Combine が Maximum に設定されている場合、Unity では Maximum の計算を使用します。