我在游戏中有两个对象,为此可以将其视为 2d 平面上的点,但我使用 Vector3s,因为游戏本身是 3d。
我有一个游戏摄像机,我想垂直(也在平面上)对齐两个对象,以便它们都在摄像机的视野中。由于游戏的性质,对象可以处于任何可以想象的位置配置,因此它们之间的方向向量可以具有任何方向。
Part1:如何从两个位置向量中得到垂直角?
我有:
Vector3 object1Position; // x and z are relevant
Vector3 object2Position;
我需要:
float cameraEulerAngleY;
第 2 部分:现在,由于游戏资产的建模方式,我只想让摄像机在 180 度“锥体”内查看。因此,如果相机通过某个点,它应该使用与上述数学可能产生的完全相反的位置。
附上我需要的图像,圆圈是物体,盒子是相机。
我希望这篇文章很清楚,你们不会因为在矢量数学上完全是垃圾而活活烧死我:P
问候,德拉克尼尔