如何使相机与物体具有相同的旋转但具有偏移量(Unity)

How to make camera have same rotation as an object but with an offset (Unity)

所以我有车和相机,到目前为止这里是相机脚本:

 public GameObject car;
    public Vector3 offset;

    void Start()
    {
        offset = transform.position - car.transform.position;
        
    }

    // Update is called once per frame
    void FixedUpdate()
    {
        transform.position = transform.position = Vector3.Lerp(transform.position, car.transform.position + offset, 0.8f);
    }
}

这使得相机可以随着汽车平稳移动,但现在我希望相机也具有与汽车相同的旋转,但具有起始偏移。

您可以像

这样“相同”地存储原始增量旋转
Quaternion offsetRotation;

private void Start ()
{
    offset = transform.position - car.transform.position;

    offsetRotation = transform.rotation * Quaternion.Inverse(car.transform.rotation);
}

稍后

void FixedUpdate()
{
    transform.position = Vector3.Lerp(transform.position, car.transform.position + offset, 0.8f);

    transform.rotation = Quaternion.Slerp(transform.rotation, car.transform.rotation * offsetRotation, 0.8f);
}