如何在寻路情况下处理不同大小的物体(A*,A-star)

Gre*_*g B 6 a-star path-finding

我正在开发一款使用A-star(A*)进行路径查找的游戏,但我已经到了一个点,我有一些大于单个网格方块的对象.

我正在运行16*16px的网格.墙段为16*16,因此单个方块无法通行.我的一些坏人是32*32,所以他们需要检查一个间隙是否至少2格子宽,以便能够传递它.

我不能简单地制作网格32*32,因为设计需要薄壁(16px),并且有几个较小的坏人只占用一个16*16的方形.

如何实现这种多分辨率环境?A-star仍然是正确使用的工具吗?

Mar*_*n G 1

对于相对简单的解决方案,我会坚持使用与 16x16 大小的对象相同的 A* 算法,但使用稍微不同的方式来评估正方形是否适合步行。

  • 如果该正方形可行走,则 16x16 大小的物体可以在该正方形上行走。
  • 如果一个正方形及其邻居都是可步行的,则 32x32 大小的物体可以在该正方形上行走。