gpt4 book ai didi

java - 将对象角度动画化为目标角度

转载 作者:太空宇宙 更新时间:2023-11-04 06:15:23 25 4
gpt4 key购买 nike

我正在编写游戏程序。在这个游戏中,有一个物体需要旋转以面对另一个物体。

代码:

这是我所做的:

//targetAngle is defined to be the angle pointing towards the other object
//angle is the angle of this object
angle += 0.05 * (targetAngle - angle);

问题:

这工作得很好,但是对象经常以非常间接的方式旋转。例如,如果对象面向 3 点钟方向,但需要面向 5 点钟方向,则该对象可能会沿逆时针方向移动,而不是更理想的顺时针方向。

我想让物体以最直接的方式旋转。关于如何做到这一点有什么想法吗?

感谢您的时间和意见。 如果您投反对票,请告诉我原因,以便我改进这个问题。

请注意,我在此程序中使用弧度。

最佳答案

我认为一种方法是......

dAngle = (targetAngle - angle) % two_pi; //Range of (-two_pi .. two_pi)
dAngle += (dAngle > pi? -two_pi : dAngle < -pi? two_pi : 0); //Range of [-pi .. pi]
angle += 0.05 * dAngle;

此外,如果您希望它始终面向玩家,但不知道正确的角度,请查看... Rotate Texture in function of player position

关于java - 将对象角度动画化为目标角度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28162642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com