使用quaternion旋转 四元数
void RotateToTarget(Vector3 targetPos){
Vector3 currentPosition=this.transform.position;
Quaternion currentRotation=this.transform.rotation;
Vector3 direction=(targetPos-currentPosition).normalized;
Quaternion targetRotation=Quaternion.LookRotation(direction);
transform.rotation=Quaternion.RotateTowards(currentRotation,targetRotation,45f*Time.deltaTime);
}
Quaternion.FromToRotation()//计算两个旋转的差值