物理阻尼

本页面的内容:

要想使得物理刚体的速度慢下来,模拟大气阻力,或者给一个铰链添加阻力,可以使用物理刚体和物理约束有两个相关的可用属性: Linear Damping(线性阻尼) 和 Angular Damping(角阻尼)。线性阻尼控制物理刚体或约束抵抗平移的程度,而角阻尼控制它们抵抗旋转的程度。

物理刚体

每个物理刚体都有 Linear Damping(线性阻尼)Angular Damping(角阻尼) 属性。这些属性主要用于模拟阻力,即便它的值为1.0,也会对物理刚体 有很大影响。

作为参考,在正常重力情况下(9.8m/s^2),在模拟开始时,如果线性阻尼的值为30,便足以让任何在初始重力牵引下而下落的刚体Actor 停止。一旦正交互的物理刚体超过1个(通过使用物理约束或者如果正在发生碰撞),那么让该物理刚体停止所需的阻尼量 将上升。

让一个应用了力的物理刚体停止的 最小 线性阻尼值大约为100。

最后,如果没有角阻尼,物理刚体将继续旋转,直到它受到外力影响而行动为止。即使很小的值也可以快速降低旋转速度,而如果值为100, 则几乎立即停止由任何外力导致的任何角运动。

物理约束

物理约束的阻尼和物理刚体的阻尼在工作原理上略有差异: 它们仅用于Limited Motions(受限运动),且当运动尝试超出限制范围时才有效。设置 物理约束的运动为 Limited(限制)将显示 Soft Limits(软性限制) :

Phys_ConstraintDampProps.png

这两个 Angular Swing Motions(角性摇动)共享Damping(阻尼) 值, Angular Twist(角性扭动) 接收其自己的阻尼值,而所有线性坐标轴则使用同样的阻尼值。尽管他们具有 独立的属性,但是这些属性对它们相关的运动具有同样的影响。

属性 描述
Limit Stiffness(限制强度) 当超出限制时,该值影响约束尝试阻止此违规运动的强烈程度。默认值50几乎不影响运动,值为5000看上去就像返回到限制级别一样,值为50000将完全地让运动转向。
Limit Damping(限制阻尼) 和物理刚体上的阻尼一样,该项定义了运动减慢的程度。和物理刚体上的阻尼不同,该阻尼仅当超出运动限制时才有效,逐渐降低动力,直到物理刚体停止。

这两个值协同工作来创建不同的效果。较高的限制强度和较低阻尼相结合使用,看上去就像是硬性限制,而如果二者的值都很高,则看上去就像 移动穿过柏油一样,最终逐渐快速停下来。很好地进行试验,对于找到针对您特定需求的正确值是十分必要的。

关于约束的更多信息,请参照 PhysX.约束用户指南

或者关于物理约束属性的参考指南, 参见: 物理约束参考指南