frictionは摩擦という意味で、UnityではPhysic Materialのfrictionの値を変更することで、Objectに摩擦を持たせることが可能です。
Physic Materialの作成
はじめに、Physic Materialを作成します。Physic MaterialのInspectorにFrictionという項目があるので、好みに変更します。
FrictionにはDynamic FrictionとStatic Frictionという2種類があり、それぞれ以下の意味のようです。
Dynamic Friction(動摩擦係数)
物体が動いている時に用いられる摩擦係数
Static Friction(静止摩擦係数)
- 物体が静止している時に用いられる摩擦係数
物理的には静止摩擦係数>動摩擦係数ですが、Unity上では見た目がよければ適当でいいかなとは思います。
これをGameObjectに追加します。
実験
Unityで、400個のブロックを落とした時の物理シュミレーションを作成してみました。左のブロックが摩擦係数1、右のブロックが摩擦係数0です。摩擦係数以外はすべて同じブロックですが、落下の仕方にかなり差が出ているのがわかります。
ソースコード
import UnityEngine class blocks (MonoBehaviour): public prefab as Transform public offset as int def Start (): for i in range(10): for j in range(8): for k in range(5): Instantiate(prefab, Vector3(i*3+offset,j*3,k*4), Quaternion.identity) def Update (): pass