我已经实现了标准的A * Pathfinding算法,并且可以在2D网格上正常工作。
我的问题是,有没有办法对线进行加权,以便他们采取最直接的方式。路径而不是它目前所采用的潜在最短路径。因此,不是采用短路径并以Z字形图案移动的线路,而是先尝试找到一个直角。
非常感谢任何资源或建议的链接!
答案 0 :(得分:0)
你的意思是他们会在网格上对角线移动吗?您所要做的就是打开节点扩展代码以扩展(+ 1,+ 1),( - 1,-1),(+ 1,-1)和(-1,+ 1),转动它变成正交而不是基数。如果你的A *算法是正确的,那么他们将倾向于单个对角线移动,比如东方向北移动。
如果你想自由地跨越更大的区域,那就稍微有点不同了。