只在水平方向上旋转:
可以将方向向量投影到水平方向,再来计算旋转
Vector3 dir = (target.position - transform.position).normalized;
//投影到水平方向
dir = dir - Vector3.Project(dir,Vector3.up);
Quaternion quaternion = Quaternion.LookRotation(dir, Vector3.up);
//每帧更新旋转
transform.rotation = Quaternion.Lerp(transform.rotation, quaternion, Time.deltaTime * rotateSpeed);