Quaternion中的LookRotation方法
1.欧拉角和四元数的转换
cube.rotation = Quaternion.Euler(new Vector3(0, 0, 0));//用Quaternion.Euler()方法把欧拉角转换为四元数
print(cube.rotation.eulerAngles);//将四元数转换为欧拉角
2.Quaternion.LookRotation()用来处理让player望向某个目标
把一个前方向转变为四元数:把一个游戏物体的forward方向与传递过来的方向保持一致,得到的旋转就是四元数
public class SiyuanshuCS : MonoBehaviour {
public Transform player;
public Transform enemy;
void Update () {
//实现按下空格,player望向enemy
if (Input.GetKeyDown(KeyCode.Space))
{
Vector3 dir = enemy.position - player.position;//player望向enemy,dir表示前方向
dir.y = 0;//让他们的y坐标不受影响
//实现前方向与dir保持一致的旋转,就是按照前方向转向enemy
player.rotation = Quaternion.LookRotation(dir);
}
}
}
