我正在使用 A* 算法在导航网格图中找到框和可移动字符之间的最短路径。盒子是为了跟随角色。
如果角色在障碍物或房间后面(例如),那么盒子会通过最短距离,如图所示。有没有办法防止盒子形式通过这条路径并在房间里走动。
由于我必须避免在寻找点之间的路径时向后移动,因此首先检查封闭列表中的任何条目以查看它是否已经存在。假设您到达了一个角落,那么所有可以将您带回角落的网格都已经存在于封闭列表中,您会被困在那里作为死胡同。如果考虑下图中的房间宽度较小,则可以看到这种情况。如果盒子一开始没有在房间内移动,这个问题可能已经解决了。
可以使用光线追踪或转向吗?找到这个问题,但答案不明确。 A* 用于寻找最短路径并避免将线作为障碍物