0
我有一個炮塔,可以預測移動目標的位置併發射相交的炮彈。平滑地旋轉炮塔並保持精度
它採用的方法是基於在這篇文章中(2d game : fire at a moving target by predicting intersection of projectile and unit)
所檢查的答案,並返回與ATAN2計算出的浮子角度,我還添加TwoPI以除去底片。
如果我線性插值這樣
currentAngle = MathHelper.Lerp(currentAngle, newAngle, speed)'
炮塔運動這意味着越接近炮塔得到它採取較小的步驟,降低轉速和精度降低了。
如果我用固定的步驟做這樣的事情
if (_angle < newAngle)
{
_angle += fixedStep;
}
if (_angle > newAngle)
{
_angle -= fixedStep;
}
是個較好的結果,但我失去了高精確度,其中角不能得到任何比固定步長的大小接近。
有沒有更好的方法來做這樣的事情?
預期的最終結果是任何事情都可以平穩地移動,當炮塔需要達到正確的角度時,炮塔能夠從最高速度加速或減速,並在突然不得不另外旋轉時增加一些慣性。
希望我可以工作一些最終,但任何提示讚賞。