unity物理学材质Physic Material
物理材料
在物理学材料是用来调整摩擦和碰撞对象的反弹效应。
要创建物理材质,请从菜单栏中选择“ 资源”>“创建”>“物理材质 ”。然后将“物理材质”从“项目视图”拖动到场景中的“ 碰撞”中。
属性
属性: | 功能: |
---|---|
动态摩擦 | 已经移动时使用的摩擦力。通常是从0到1的值。零值感觉像冰一样,值1会使它非常快地停下来,除非大量的力或重力推动物体。 |
静摩擦力 | 当物体静止在表面上时使用的摩擦力。通常是0到1之间的值。零值感觉像冰,值1会使对象移动变得非常困难。 |
反弹力 | 表面有多么有弹性?值0不会反弹。值1将在没有任何能量损失的情况下反弹,但是可以预期某些近似值,尽管这可能会为模拟增加少量能量。 |
摩擦组合 | 如何组合两个碰撞物体的摩擦力。 |
- 平均 | 两个摩擦值是平均值。 |
- 最低 | 使用这两个值中最小的一个。 |
- 最大 | 使用这两个值中最大的一个。 |
- 乘以 | 摩擦值相互相乘。 |
弹跳组合 | 如何组合两个碰撞对象的弹性。它具有与摩擦组合模式相同的模式 |
细节
摩擦力是防止表面相互滑落的量。尝试堆叠对象时,此值很重要。摩擦有两种形式,动态和静态。物体静止时使用静摩擦力。它会阻止对象开始移动。如果对物体施加足够大的力,它将开始移动。此时动态摩擦将发挥作用。动态摩擦现在将尝试在与另一个物体接触时减慢物体的速度。
当两个物体接触时,根据所选择的模式对它们两者施加相同的弹性和摩擦效果。当两个接触的碰撞器具有不同的组合模式设置时,存在一种特殊情况。在这种特殊情况下,使用具有最高优先级的函数。优先顺序如下:平均 < 最小 < 乘以 < 最大值。例如,如果一个材质具有平均值但另一个具有最大值,则要使用的组合函数为最大值,因为它具有更高的优先级。
请注意,Nvidia PhysX引擎使用的摩擦模型针对模拟的性能和稳定性进行了调整,并不一定非常接近真实物理。特别是,大于单个点的接触表面(例如彼此相邻的两个盒子)将被计算为具有两个接触点,并且将具有两倍于现实世界物理学中的摩擦力。您可能希望将摩擦系数乘以0.5,以在这种情况下获得更真实的结果。
同样的逻辑适用于弹性模型。由于各种模拟细节(如位置校正),Nvidia PhysX无法保证完美的节能效果。因此,例如当受重力影响的物体的弹性值为1并且与具有弹性的地面碰撞时,期望物体到达比初始物体更高的位置。