在Unity中,使用
1.四元数方法, 实现时刻看向某个物体:
代码如下:
public class Test1 : MonoBehaviour
{
//运用四元数方法一直看向目标物体
public Transform targetTr;
private void LookAtTarget()
{
//获得旋转到目标角度的四元素
Vector3 currentPos = transform.position;
Vector3 dir = (targetTr.position - currentPos).normalized;
Quaternion targetQua = Quaternion.LookRotation(dir);
//通过当前物体的四元数,旋转到目标四元数
Quaternion currentQua = transform.rotation;
transform.rotation = Quaternion.RotateTowards(currentQua, targetQua,45);
}
private void Update()
{
LookAtTarget();
}
}
2.不过使用LookAt方法看向,是最基本的方式
transform.LookAt(targetTr);