通过代码创建的可配置关节不会弹出[Unity3d]

eqoofvh9  于 2022-11-25  发布在  其他
关注(0)|答案(1)|浏览(144)

我尝试使用以下代码添加可配置关节:

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;
    }

它确实添加了组件并设置了值,但另一个身体只是福尔斯了,完全忽略了关节。更奇怪的是,当我将任何关节的运动模式设置为锁定时,它都会锁定在适当的位置。如果我事先添加了相同值的关节,它会按预期工作。任何帮助都将不胜感激。
我尝试过通过代码添加一个可配置的关节。我希望关节的工作就像在开始之前添加到编辑器中一样,但它什么也没做。我还尝试过将关节运动模式设置为固定(再次通过代码),这令人惊讶地工作,但这显然不是我试图实现的。

h9vpoimq

h9vpoimq1#

如果有人想知道的话,关节驱动器也需要用maximumForce参数初始化。

相关问题