我正在将自己一直在努力的2d自上而下游戏移植到像Farseer这样的合适的刚体物理引擎中。到现在为止,我只是在需要的地方才编写了自己的物理代码。
我正在尝试在这里学习正确的做事方式。
一旦在物理引擎内部使它们成为刚体,使AI遵循设定路径的正确方法是什么?
如果我在地图上有需要AI遵循的导航节点路径,那么以前,我会通过沿下一个步骤计算它们应位于的下一个位置并将其手动设置为该位置来手动沿路径移动它们。
但是现在它们是刚体,容易受到碰撞以及任何可能撞击它们并将其击落的力。
因此,为了使AI向前迈进,我相信我现在应该向它们施加冲动/力量了吗?我不应该再手动设置每个帧的位置。
因此,我认为我需要从一个确定性世界出发,在这个世界中,我必须迫使AI严格遵循一个不确定性世界,在这种情况下,如果受到撞击,它们可能会在任何方向被撞倒,我只是将它们轻推到路径中的下一个节点让他们动起来。
是对的吗?那是别人怎么做的吗?
这就引发了一些问题,即如何避免您的AI一直走在不正确的道路上,而又如何避免它们卡在风光的拐角处?你们如何处理这种事情呢?
还是以某种方式将两者混合并让您的AI通过手动设置其位置而遵循固定的路径,并且仅在您可以轻松控制的某些情况下对其他作用力做出反应,才更好呢?
感谢您的任何建议。