计算三维空间中两点之间的角度

Maj*_*jad 1 c# math euler-angles unity-game-engine

我在Unity中有两个点(立方体游戏对象),P1(x,y,z)和P2(x,y,z),我必须设置沿着P2P1之间的向量的MainCamera位置和旋转.

我尝试了不同的方法,但没有成功.欢迎所有建议.谢谢.

小智 5

我们可以根据点生成找到2个向量之间的角度.
angle = arccos(a*b/| a |*| b |);
其中:
a*b = ax*bx + ay*by + az*bz
| a | = sqrt(ax*ax + ay*ay + az*az)
| b | = sqrt(bx*bx + by*by + bz*bz)
或者只是使用此方法:http://docs.unity3d.com/ScriptReference/Vector3.Angle.html