Version: 2021.2
地形碰撞体
物理系统操作方法

物理材质

物理材质 (Physic Material) 用于调整碰撞对象的摩擦力和反弹效果。

要创建物理材质,请从菜单栏中选择 Assets > Create > Physic Material。然后将物理材质从 Project 视图拖入到场景中的__碰撞体__。

属性

属性: 功能:
Dynamic Friction 已在移动时使用的摩擦力。通常为 0 到 1 之间的值。值为零就像冰一样,值为 1 将使对象迅速静止(除非用很大的力或重力推动对象)。
Static Friction 当对象静止在表面上时使用的摩擦力。通常为 0 到 1 之间的值。值为零就像冰一样,值为 1 将导致很难让对象移动。
Bounciness 表面的弹性如何?值为 0 将不会反弹。值为 1 将在反弹时不产生任何能量损失,预计会有一些近似值,但可能只会给模拟增加少量能量。
Friction Combine 两个碰撞对象的摩擦力的组合方式。
- Average 对两个摩擦值求平均值。
- Minimum 使用两个值中的最小值。
- Maximum 使用两个值中的最大值。
- Multiply 两个摩擦值相乘。
Bounce Combine 两个碰撞对象的弹性的组合方式。其模式与 Friction Combine 模式相同

详细信息

摩擦力是防止表面相互滑落的量。尝试堆叠对象时,此值很重要。摩擦力有两种形式:动态和静态。对象静止时使用__静态摩擦力。静态摩擦力会阻止对象开始移动。如果向对象施加足够大的力,对象将开始移动。随后,__动态摩擦力__将发挥作用。动态摩擦力__现在将尝试在与另一个对象接触时减慢对象的速度。

当两个对象接触时,根据所选择的模式对它们两者施加相同的弹性和摩擦力效果。当两个接触的碰撞体具有不同的组合模式设置时,存在一种特殊情况。在这种特殊情况下,使用具有最高优先级的函数。优先级顺序如下:__Average__ < Minimum < Multiply < Maximum。例如,如果一种材质设置了 Average__,但另一种材质设置了 Maximum__,那么要使用的组合函数是 __Maximum__,因为它具有更高的优先级。

请注意,Nvidia PhysX 引擎使用的摩擦力模型针对模拟的性能和稳定性进行了调整,并不一定代表真实物理的高度近似值。具体而言,大于单个点的接触面(例如两个相互叠放在一起的盒子)将计算为具有两个接触点,其摩擦力将是现实世界物理学中的两倍。在这种情况下,可能希望将摩擦系数乘以 0.5 以获得更真实的结果。

同样的逻辑适用于弹性模型。由于各种模拟细节(如位置校正),Nvidia PhysX 无法保证完美的能量守恒效果。因此,比如说,如果受重力影响的对象的弹性值为 1,并与弹性为 1 的地面碰撞,则对象的弹跳高度应该会高于初始位置。


  • 2017–07–17 页面已修订

  • 5.5 版中的更新功能

地形碰撞体
物理系统操作方法
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961