可使用可配置关节单独约束每个关节轴上的线性和旋转运动。
使用 X, Y, Z Motion 进行线性运动,使用 X, Y, Z Rotation 进行旋转运动。默认情况下,这些轴对应于对象的局部轴,由 Axis 属性定义。启用 Configured In World Space 可以将运动约束到世界轴而不是对象的局部轴。
可将各轴设置为Locked、Limited 或 Free:
可使用 Linear Limit 属性限制线性移动,该属性定义了关节可从其原点移动的最大距离(分别沿每个轴进行测量)。
可使用 Angular Limit 属性来限制旋转。此属性可用于为每个轴指定不同的限制值。你还可以为X轴的旋转角度分别定义上限和下限;而另外两个轴的旋转角度限制则是围绕原始旋转角度向两侧对称扩展的。
可在关节限制处模拟弹性表面。默认情况下,关节在达到限制时会停止移动。然而,像这样的非弹性碰撞在现实世界中是罕见的,因此向受约束的关节添加一些弹跳通常会更真实。
为了使受约束的对象在达到限制后反弹,可使用线性和角度限制的 Bounciness 属性。使用较小的数值可以使碰撞更逼真、更自然,或者将其设置为较高的数值来模拟弹性异常大的边界,像台球桌垫一样。
当关节超出其极限时,可以模拟出类似弹簧的弹性行为。为此,请使用弹簧属性 Linear Limit Spring 进行线性移动,并使用 Angular X/YZ Limit Spring 进行旋转。如果将 Limit Spring 属性设置为大于零的值,关节达到限制时不会停止移动,而是会越过限制,然后被弹簧力拉回到限制位置。这个力的强度由 Limit Spring 值确定。默认情况下,弹簧会将关节拉向与碰撞相反的方向。
可使用 Damper 属性来减少弹性并以更温和的方式将关节恢复到限制位置。