Unity3D 获取两点之间的角度

来源:互联网 发布:网络教学软件 编辑:程序博客网 时间:2024/05/16 12:37

获取b点相对于a点的角度,也就是说a点加上这角度就会指向b点。


private float GetAngle(Vector3 a, Vector3 b) {b.x -= a.x;b.z -= a.z;float deltaAngle = 0;if (b.x == 0 && b.z == 0) {return 0;} else if (b.x > 0 && b.z > 0) {deltaAngle = 0;} else if (b.x > 0 && b.z == 0) {return 90;} else if (b.x > 0 && b.z < 0) {deltaAngle = 180;} else if (b.x == 0 && b.z < 0) {return 180;} else if (b.x < 0 && b.z < 0) {deltaAngle = -180;} else if (b.x < 0 && b.z == 0) {return -90;} else if (b.x < 0 && b.z > 0) {deltaAngle = 0;}float angle = Mathf.Atan(b.x / b.z) * Mathf.Rad2Deg + deltaAngle;return angle;}


0 0
原创粉丝点击