我试图确定相机前向矢量与对象矢量相交的角度。
抱歉,无法直接以我的知识进行解释,请参阅附图:相机可能不会直接看着物体(OBJ),我想知道相机的前向矢量的角度(图中的?) (红色的 V1)与对象的矢量(红色的 V2)相交(如果相交),例如点 A、B、C 等,具体取决于相机的 x 旋转。
我尝试计算红线 v1 和 v2 的归一化向量。然后计算两个向量之间的角度https://onlinemschool.com/math/library/vector/angl/ 但测试时结果与预期值不符。
//v1
Vector3 hypoth = Camera.main.transform.forward.normalized;
//v2
Vector3 adjacent = (new Vector3(obj.transform.position.x, obj.transform.position.y, Camera.main.transform.position.z)
-obj.transform.position).normalized;
float dotProd = Vector3.Dot(adjacent, hypoth);
float cosOfAngle = dotProd / (Vector3.Magnitude(adjacent) * Vector3.Magnitude(hypoth));
double radAngle = Math.Acos(cosOfAngle);
float angle = (float)((180 / Math.PI) * radAngle);
jeck猫
ITMISS
相关分类