Uinity学习笔记

Unity学习笔记 Quaternion.LookRotation()

一、实现 LookAt 的方式

  • 第一步:direction = destination - source destination:目标位置source:需要看向目标的物体位置,可以是自己也可以是其他物体
  • 第二步:当前物体的 rotation = Quaternion.LookRotation(direction);

使用范例

public Transform targetTr;
private void Update()
{
 	Vector3 direction = targetTr.position - this.transform.position;
        transform.rotation = Quaternion.LookRotation(direction);
}

二、Slerp(平滑移动)

  • 第一步:direction = destination - source destination:目标位置source:需要看向目标的物体位置,可以是自己也可以是其他物体。
  • 第二步:目标 Quaternion = Quaternion.LookRotation(direction);
  • 第三步:当前物体的rotation = Quaternion.Slerp(当前物体的rotation,目标位置rotation,移动速度);

使用范例

public Transform targetTr;
public float moveSpeed;
private void Update()
{		
	Vector3 direction = targetTr.position - this.transform.position;
        Quaternion tempTarget= Quaternion.LookRotation(direction);
        this.transform.rotation = Quaternion.Slerp(this.transform.rotation,tempTarget,Time.deltaTime * moveSpeed);
}

你可能感兴趣的:(Uinity学习笔记)