我尝试使用以下代码添加可配置关节:
public Rigidbody other;
void Start()
{
var currentGrabJoint = gameObject.AddComponent(typeof(ConfigurableJoint)) as ConfigurableJoint;
currentGrabJoint.autoConfigureConnectedAnchor = false;
currentGrabJoint.connectedBody = other;
currentGrabJoint.rotationDriveMode = RotationDriveMode.Slerp;
var driveJoint = new JointDrive()
{
positionSpring = 14000,
positionDamper = 200
};
currentGrabJoint.slerpDrive = driveJoint;
currentGrabJoint.xDrive = driveJoint;
currentGrabJoint.yDrive = driveJoint;
currentGrabJoint.zDrive = driveJoint;
}
它确实添加了组件并设置了值,但另一个身体只是福尔斯了,完全忽略了关节。更奇怪的是,当我将任何关节的运动模式设置为锁定时,它都会锁定在适当的位置。如果我事先添加了相同值的关节,它会按预期工作。任何帮助都将不胜感激。
我尝试过通过代码添加一个可配置的关节。我希望关节的工作就像在开始之前添加到编辑器中一样,但它什么也没做。我还尝试过将关节运动模式设置为固定(再次通过代码),这令人惊讶地工作,但这显然不是我试图实现的。
1条答案
按热度按时间h9vpoimq1#
如果有人想知道的话,关节驱动器也需要用
maximumForce
参数初始化。