繁体   English   中英

unity vector3 角度

[英]Unity vector3 angles

我在屏幕上有两点如下...

var newraya = camera.ScreenPointToRay(new Vector3(200, 250, 5));
Vector3 pointa = newraya.origin;
var newrayb = camera.ScreenPointToRay(new Vector3(300, 200, 5));
Vector3 pointb = newrayb.origin;

我正在使用以下公式尝试获得 90 度角,但将其计算为 26 度?

// angle in degrees
var angleDeg = -Mathf.Atan2(pointb.y - pointa.y, pointb.x - pointa.x) * (180 / Math.PI);

我不太确定我哪里出错了。 任何帮助,将不胜感激。

谢谢。

我最终使用了以下对我有用的公式。 如果 A 点处于 0 度或 90 度,我必须将其包装在 if 语句中,但两者之间的任何角度都很好。

var angle34 = -(Mathf.Atan2((centre.y - ((pointa.y - centre.y))) - centre.y, (centre.x + ((centre.x - pointa.x))) - centre.x) * (180 / Math.PI))-90;

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM