如何在 Lua 中将你的角度旋转到某人的位置?

假设我们有一个完美运行的函数 setAngle(x, y, z)。 现在我们还有自己和一只鸡的位置。我们如何使用 setAngle() 瞄准鸡?这是在 FPS 游戏中完成的?我不知道如何将位置转换为角度... >.<

原文链接 https://stackoverflow.com/questions/6097831

点赞
stackoverflow用户725709
stackoverflow用户725709

将下面翻译成中文并且保留原本的 markdown 格式

这是你和鸡之间连线斜率的反正切值。使用 aTan2 函数会更好地处理垂直方向(感谢 lhf)。

2011-05-23 13:29:31
stackoverflow用户766313
stackoverflow用户766313

有数学课?让你自己选定点

A(x, y, z)

和鸡在

B(x, y, z)

A 是平面 E 的一部分;它的点满足方程

a * x + b * y + c * z = d

考虑你的游戏,E 可能与 XY 平面平行,因此我们有

E : c * z = d

那么,向量 ABXY 平面夹角的arcsin是

c * ( B[z] - A[z] ) / ( mag(n) * mag(AB) )

其中 mag(n) 是平面 E 的面法线向量和向量 AB 的大小。

考虑到你的函数,这可能是不必要的,因为在我看来,它已经为你调整了一些东西。

2011-05-23 16:13:18