在高度动态的世界中寻找路径

时间:2011-07-23 16:50:14

标签: artificial-intelligence collision-detection path-finding

我正在进行一项简单的足球模拟,我正在使用潜在的领域来避免碰撞,更具体地说是技术,

http://www.ibm.com/developerworks/java/library/j-antigrav/

球场上只有障碍物是其他球员而且他们不断移动。问题是如果我给角色分配非常大的推力是有效的,因为角色在速度上移动需要一些时间来改变方向但这有很少的缺点,如此高的重力我永远不能定位一个npc抓住球因为总是一些力量推动着我。

我虽然可以通过向球分配拉力来解决这个问题,但这实际上让事情变得更糟。 nps将转向球,球开始拉动,这使得npc推动球进入一个循环,直到npc撞到一堵墙。

我是如何实现这一点的,我有一个矢量可以引导我朝着我的目标然后我添加到所有重力作用于npc并朝着那个方向转向。

基本上我想知道我可以做出哪些改进?我目前的问题并没有让其他球员在不受其他球员影响的情况下正好落后于球。

2 个答案:

答案 0 :(得分:1)

我不确定是否可以使用潜在的领域。如果所有球员直接在你和球之间,你怎么做到的?

我很想画出一条直线,然后迭代地调整其他玩家位置的路线,调整他们的轨迹 - 如果你真的 聪明 - 期待改变相同。

答案 1 :(得分:0)

你可以对另一个玩家的引力很好的效果区域设置一些限制。将它限制在该玩家周围的一个小半径,以便当你没有其他玩家时,没有任何力量对你的角色起作用。当你接近球时,你也可以减少防撞力,推断球员在击球时不太关心彼此击球。