平稳地将摄像机旋转到面向玩家的方向

时间:2020-06-09 14:36:23

标签: c# unity3d

我尝试将其发布在统一论坛中,但获得答案的情况很少见。

我正在尝试编写一个摄像机脚本,该脚本可以按照我的角色所面对的任何方向进行跟踪。只能是北,南,西,东(每个运动输入分别向左或向右旋转90度)。

所以我从Brackeys的视频中得到了这个脚本。我尝试自己实施旋转,但根本不旋转,但至少玩家已经开始关注旋转。希望您了解我在这里想要实现的目标。

{
    public Transform target;

    public float smoothSpeed = 0.125f;

    public Vector3 offset;

    private void LateUpdate()
    {
        Vector3 desiredPosition = target.position + offset;
        Vector3 smoothedPosition = Vector3.Lerp(transform.position, desiredPosition, smoothSpeed);
        transform.position = smoothedPosition;

        transform.LookAt(target);

        transform.rotation = Quaternion.RotateTowards(transform.rotation, target.transform.rotation, smoothSpeed);
    }
}```

1 个答案:

答案 0 :(得分:0)

使用transform.LookAt(target);

此外,还有一些有用的功能: Quaternion.LookRotation() 或者您可以处理向量,而不是四元数:

transform.forward = target.position - transform.position;