如何表达一个物体的空旋转【欧拉角中的0,0,0】
transform.rotation = Quaternion.identity;
求当前玩家指向敌人的方向向量
敌人坐标 玩家坐标
Vector3 dir = enemy.position - transform.position;
这里一定要减去玩家坐标得到向量(前后左右),不然默认的是在[0,0,0]方位
如果玩家这时不在[0,0,0]位置则会发生错误,旋转后面朝不到敌人方位
将向量转换为四元数
target = Quaternion.LookRotation();
将一个物体1朝向物体2旋转
Quaternion.RotateTowards();
插值旋转(一直面对着一个目标)
transform.rotation = Quaternion.Lerp(transform.rotation, target, 0.1f * turnSpeed);
AngleAxis(角轴)
拓展:欧拉角转换为四元数
Quaternion.Euler(Vector3);