我正在创建鼠标关节,但在这个词里我碰到了什么,这实际上是什么意思。
鼠标关节的文档:-“鼠标关节用于在身体上的一个点上跟踪指定的世界点。这是一个软约束,具有最大作用力。 *这样可以使约束得以拉伸,而无需施加巨大的力。”
答案 0 :(得分:0)
假设我们有一个远距离关节;
b2DistanceJointDef DistJointDef;
您可以通过调整频率和阻尼比来获得类似弹簧的效果。
DistJointDef.frequencyHz = 0.5f;
DistJointDef.dampingRatio = 0.5f;
频率Hz将确定人体应随时间进行拉伸/收缩的程度。 而阻尼系数将决定类似弹簧的效果持续多长时间。
这些原理也适用于鼠标关节。您可以修改它们的频率和阻尼比以达到类似的效果。
如果我没记错的话,您也可以在车轮关节上应用软约束。
这里有Box2dManual
上有关该主题的更多信息通过调整定义中的两个常数可以实现柔软性:频率和阻尼比。将频率视为谐波振荡器的频率(如吉他弦)。频率以赫兹为单位。通常,频率应小于时间步长频率的一半。因此,如果您使用60Hz时间步长,则距离关节的频率应小于30Hz。原因与奈奎斯特频率有关。
阻尼比是无量纲的,通常在0到1之间,但可以更大。在1处,阻尼至关重要(所有振荡都应消失)。