在3D物体中,Unity把z轴当前方,通过lookat(),translate()等方法可以轻易的完成看向、移动等操作,但是2D里Z轴通常不会使用,此时如果想让物体延一个轴看向某个方向,可以用以下方法:
void Update()
{
//此处使用x轴正方作为前方,看向鼠标位置
Vector3 v = Camera.main.ScreenToWorldPoint(Input.mousePosition) - transform.position;
v.z = 0;
Quaternion qua = Quaternion.FromToRotation(Vector3.right,v);
transform.rotation = qua;
}
v提供一个方向,注意z轴必须为0
Quaternion.FromToRotation()获取一个旋转,以第一个参数为正方向轴,转到v代表的方向
同理,如果用Y轴正方向做为正方向,只需把Vector3.right改为Vector3.up即可,相当用x轴或y轴代替z轴