我希望在像 TowerDefence 这样的游戏中,炮塔发射的箭不是以直线飞向敌人,而是以弧线飞行:向上,向下。我自己做了飞行和旋转。箭头会旋转,因此无论它飞多远,它仍然能够准确地转动 1 次。但问题是我的箭头是逆时针旋转的,这仅适用于敌人/对手/怪物在塔左侧的情况。如果它在右边,那么物理上正确的箭头应该顺时针旋转。实现这一点的最佳方法是什么?只是比较X坐标并设置旋转,还是有一些更聪明的方法?
我希望在像 TowerDefence 这样的游戏中,炮塔发射的箭不是以直线飞向敌人,而是以弧线飞行:向上,向下。我自己做了飞行和旋转。箭头会旋转,因此无论它飞多远,它仍然能够准确地转动 1 次。但问题是我的箭头是逆时针旋转的,这仅适用于敌人/对手/怪物在塔左侧的情况。如果它在右边,那么物理上正确的箭头应该顺时针旋转。实现这一点的最佳方法是什么?只是比较X坐标并设置旋转,还是有一些更聪明的方法?
如果每帧箭头根据公式自由落体加速度(约等于9.8)*帧增量向下指向,并且方向是导数,则可以完成纯物理,如果垫子部分没有令人失望,或者简单地转回来到前一个位置。如果在 Unity 上,那么您可以将刚体组件和质心放在尖端(https://docs.unity3d.com/ru/2019.4/ScriptReference/Rigidbody-centerOfMass.html)
(也许我不明白游戏开发的细节)
物理上(IRL)有“自由落体的加速度”,还有关于在教科书中用公式扔砖的谜题。它应该很自然地出来。
并且箭头的尾部(如果更容易)可以转向先前的位置。