物理材质 (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 模式相同 |
摩擦力是防止表面相互滑落的量。尝试堆叠对象时,此值很重要。摩擦力有两种形式:动态和静态。对象静止时使用__静态摩擦力。静态摩擦力会阻止对象开始移动。如果向对象施加足够大的力,对象将开始移动。随后,__动态摩擦力__将发挥作用。动态摩擦力__现在将尝试在与另一个对象接触时减慢对象的速度。
When two bodies are in contact, bounciness and friction modes are applied individually to each agent. So, when body A has a friction combine mode of Average and body B has mode Multiply, then A is going to behave according to average parameters and B according to multiplied parameters.
请注意,Nvidia PhysX 引擎使用的摩擦力模型针对模拟的性能和稳定性进行了调整,并不一定代表真实物理的高度近似值。具体而言,大于单个点的接触面(例如两个相互叠放在一起的盒子)将计算为具有两个接触点,其摩擦力将是现实世界物理学中的两倍。在这种情况下,可能希望将摩擦系数乘以 0.5 以获得更真实的结果。
同样的逻辑适用于弹性模型。由于各种模拟细节(如位置校正),Nvidia PhysX 无法保证完美的能量守恒效果。因此,比如说,如果受重力影响的对象的弹性值为 1,并与弹性为 1 的地面碰撞,则对象的弹跳高度应该会高于初始位置。
2017–07–17 Page amended with no editorial review
5.5 版中的更新功能