Unity 根据前后帧位置自动旋转

写在Update里面

     var newPos = transform.position;
        if (lastPos != newPos) {
            targetRotation = Quaternion.LookRotation(newPos - lastPos);
        }

        if (Math.Abs(transform.rotation.eulerAngles.y - targetRotation.eulerAngles.y) > 0.01f) {
            transform.rotation = Quaternion.Slerp(transform.rotation,
                Quaternion.Euler(new Vector3(0, targetRotation.eulerAngles.y, 0)), rotateSpeed);
        }

        lastPos = newPos;

 

上一篇:Unity 第一人称、第三人称、漫游视角 控制器.


下一篇:cocos2d-x math之Quaternion封装