在不知道环境的情况下创建寻路地图的最佳方法是什么?

时间:2019-02-24 15:48:10

标签: path-finding

我正在寻找一个可以在具有不同代理人/玩家的各种2D和3D环境/游戏中使用的库,该库无需使用世界几何图形即可创建寻路数据。

我当前的方法是加载对象管理器(有一个简单的接口),其中包含有关所有单元的信息。我获取单位位置,并将其链接到最后一个已知节点或最近的现有节点,并将其设置为最后一个已知位置。这将产生一个链接的节点图,在这里我可以简单地利用A *查找路径。

目标是拥有比这更可靠的东西。当前的方法存在两个问题:

  1. 链接节点时,以后可能会发现一些效率很低的路径
  2. 合并来自多个地图的数据过于复杂
  3. 在所有情况下都无法正常工作(特别是在特工跳跃,落后等情况下)
  4. 精度不是那么好-某些节点可能由于靠近非常薄的墙后面的另一个节点而被链接

我当时认为更好的方法是从单位位置动态生成导航网格。我受到Android上一个名为“水洞”的游戏的启发,当您用手指绘制路径时,它会创建一个三角网格,在其上很容易找到路径。这样,即使存在一些假阳性链接,我也可以利用路径查找代理的宽度/半径来确定单元是否适合通过通道。这样的假阳性就不再是问题了,因为联系会非常狭窄。

那么,如何才能实时从单元位置数据动态创建网格?我不希望在阅读世界几何图形方面有任何建议,因为实现世界几何图形的方式可能因环境而异,而诸如代理人/单位位置之类的数据可以很容易地归纳为一个非常简单的界面,这使得库非常即插即用(很好,也记录数据,但是对于我想要的环境来说,有很多代理始终在有效的可移动空间中移动)。我不是在开发游戏,因此计划中的用途之一是使用wifi来三角测量其位置的机器人(我在破坏真正的硬件之前正在各种游戏中测试算法,因此无需使用环境几何图形,因为我不想麻烦绘制每个环境的麻烦,我使用3D机器人,而是使用耐用的小型机器人在精致的硬件发挥作用之前侦察周围扎堆的东西)

0 个答案:

没有答案