UnityのPhysic Materialの使い方【標準機能】

この記事はUnityの物理演算使用時によく使うPhysic Materialについて解説しています。

基本的な物理演算のやり方については↓の記事で解説しているので物理演算がまだよくわからないよという場合は参考にしてみてください。

<Physic Materialとは>

Physic Materialはコライダーに物理的な材質の設定を行うものです。

物体の物理的な特性を変更することができます。

プロジェクトウィンドウで右クリック>Create>Physic Materialで作成できます。

その後、物体がもつコライダーのMaterialの項目に当てはめることで適応されます。

Unityは衝突している2つのコライダーの物理特性を考慮するので、片方のコライダーだけ設定しただけでは足りない場合があります。

<Physic Materialのインスペクター>

Dynamic Friction

移動している物体に対する摩擦です。

大きい値を入れることも可能ですが、基本的に0〜1の値で設定します。

0 の場合、摩擦なく滑っていきます。1の場合、摩擦によりすぐに止まります。

Static Friction

面上で静止しているオブジェクトに使用される摩擦です。

大きい値を入れることも可能ですが、基本的に0〜1の値で設定します。

力を加えると0 の場合、摩擦なく滑っていきます。1の場合、摩擦によりすぐに止まります。

Bounciness

表面にどれだけ弾性があるかです。

0の場合は弾性がありません。

1の場合はエネルギーが減ることなく跳ねます。

こちらは0〜1の範囲までしか入れることができません。

Friction Combine

衝突したオブジェクト2つの摩擦をどう処理するかを設定します。

もし、設定が違う2つのオブジェクトが衝突した場合、優先度が高い順が適応されます。

<優先順位>
1. Maximum
2. Multiply
3. Minimum
4. Average

摩擦力は物体が動いている時Dynamic Frictionの値で、止まっている時Static Frictionの値を使用します。

・Average

衝突したオブジェクトの2 つの摩擦力が平均化されます。

・Minimum

衝突したオブジェクトの2 つの摩擦力のうち小さい方の値が使用されます。

・Maximum

衝突したオブジェクトの2 つの摩擦力のうち大きい方の値が使用されます。

・Multiply

衝突したオブジェクトの2 つの摩擦力が互いに乗算されます。

Bounce Combine

衝突したオブジェクト2つの跳ね返し度合いをどう処理するかを設定します。もし、設定が違う2つのオブジェクトが衝突した場合、優先度が高い順が適応されます。

<優先順位>
1. Maximum
2. Multiply
3. Minimum
4. Average

・Average

2 つのBouncinessの値が平均化されます。

・Minimum

2 つのBouncinessの値のうち小さい方の値が使用されます。

・Maximum

2 つのBouncinessの値のうち大きい方の値が使用されます。

・Multiply

2 つのBouncinessの値が互いに乗算されます。

<Physics Material 2D>

Physics Materialは3D用と2D用があり、2D用のコライダーに設定する場合はこちらを使用します。

Friction

物体に対する摩擦です。

0にすると摩擦がなくなり、大きい値にすれば摩擦も大きくなります。この値は1以上を指定する事ができます。

Bounciness

表面にどれだけ弾性があるかです。

0の場合は弾性がありません。

1の場合はエネルギーが減ることなく跳ねます。