赞
踩
3D项目用transform.LookAt就可以简单实现朝向,2D的话就得自己手动来了。
目前经过测试有两种方法可以直接使用。
Vector3 v = target.position - transform.position; //首先获得目标方向
v.z = 0; //这里一定要将z设置为0
float angle = Vector3.SignedAngle(Vector3.up,v,Vector3.forward); //得到围绕z轴旋转的角度
Quaternion rotation = Quaternion.Euler(0, 0, angle); //将欧拉角转换为四元数
transform.rotation = rotation;
Vector3 v = target.positio - transform.position;
v.z = 0;
Quaternion rotation = Quaternion.FromToRotation(Vector3.up, v);
transform.rotation = rotation;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。