修改LookAt()方法为Quaternion.Slerp()

最近做的小项目有一个地方要求按下鼠标右键,屏幕中心的光标自动移动到要求的目标上。
最开始使用的是transform.LookAt()函数,结果发现在调用这个函数后会瞬间面对要求的目标。所以在找一个使用插值的方式根据一定的速度来移至目标。

 void RotateCharactor() {
            if (Vector3.Distance(tar.position, transform.position) > 60)
                return;
            var dir = tar.position - transform.position;
            Quaternion des = Quaternion.LookRotation(dir.normalized);
            transform.rotation = Quaternion.Slerp(transform.rotation, des, RotateCharactorSpeed * Time.deltaTime);
        }

你可能感兴趣的:(修改LookAt()方法为Quaternion.Slerp())