0

我有一个功能可以让相机前的物体“拾取/握住”所述物体。但是,在握住物体时,如果我以某种方式将其撞到另一个物体上,则所握住的物体会以意想不到的方式旋转。我不会在脚本中的任何位置更改对象的旋转。发生了什么事,我该如何解决这个问题以使其正确旋转?这就是它的样子

void Grab()
{
    if (musketState == MusketState.Grab) 
    {
        objectToGrab = hit.transform.gameObject;
        Rigidbody objectRigidbody = objectToGrab.GetComponent<Rigidbody> ();
        Vector3 desiredPosition = mainCamera.transform.position + mainCamera.transform.forward * grabDistance;
        Vector3 smoothedPosition = Vector3.Lerp (objectToGrab.transform.position, desiredPosition, smoothSpeed * Time.deltaTime);

        isGrabbingObject = true;
        objectRigidbody.useGravity = false;
        objectRigidbody.transform.position = smoothedPosition;
    }
}
4

0 回答 0