版本:Unity 6 (6000.0)
语言:英语
碰撞体表面
碰撞体表面弹性

碰撞体表面摩擦力

在现实世界的物理学中,摩擦力是阻碍两个接触表面之间运动的力。例如,冰的表面摩擦力低,物体可以轻松地在冰面上滑动。橡胶的表面摩擦力高,可以防止物体在其表面上滑动。

在 PhysX 系统中,您可以控制两种类型的摩擦力

静摩擦力适用于碰撞体用于处理对象物理碰撞的不可见形状。碰撞体不需要与对象的网格完全相同形状 - 粗略的近似通常更有效,并且在游戏玩法中难以区分。 更多信息
参见 术语表
静止时。较高的静摩擦力会阻碍碰撞体在与另一个碰撞体接触时开始移动。动摩擦力物理材质属性,定义刚体运动时的摩擦力。值越低,摩擦力越小,因此值为零表示在冰面上滑动。 更多信息
参见 术语表
适用于碰撞体移动时。较高的动摩擦力会阻碍碰撞体在与另一个碰撞体接触时的移动速度。

当您需要堆叠物体时,静摩擦力在物理模拟中尤其相关。例如,如果您将一个低摩擦力的物体放在另一个物体上面(例如,一块冰放在另一块冰上),它们之间的低摩擦力可能会导致上面的物体移动,即使下面的物体是静止的。

PhysX 计算出的接触表面大于单个点(例如,两个箱子彼此叠放)具有多个接触点。这反过来会使摩擦力成倍增加。如果发生这种情况,您需要调整摩擦力值以正确缩放结果 - 例如,如果有两个接触点,您应该将摩擦力值减半。

Unity 中的默认摩擦力为 0.6。此值可在大多数项目中模拟现实世界的摩擦力。

摩擦力计算

您可以选择 PhysX 用于模拟碰撞体之间摩擦力的计算类型。为此,请转到物理设置(编辑 > 项目设置 > 物理)并使用摩擦力类型属性。有关每种摩擦力类型的更多信息,请参阅物理设置文档。

摩擦力类型的选择始终是为了平衡准确性和性能;更高的准确性总是需要更多处理时间。有些项目需要极其精确的摩擦力,而其他项目则更关注性能优化。选择最适合您项目重点的摩擦力类型。默认的摩擦力类型为面片摩擦力

  • 面片摩擦力:面片摩擦力根据作用在碰撞体表面上的力的分布,在多个方向上计算摩擦力。面片摩擦力非常准确,但它是计算量最大的选项。
  • 单向摩擦力:单向摩擦力是一种更简单的摩擦力计算方法,它考虑沿单个垂直方向的摩擦力。单向摩擦力是最不准确的选项,也是计算量最小的选项。
  • 双向摩擦力:双向摩擦力是一向摩擦力的变体,它考虑了两个垂直方向。它比单向摩擦力更准确,但不如面片摩擦力准确。
碰撞体表面
碰撞体表面弹性