Algorithm 使用A*算法避免死胡同

Algorithm 使用A*算法避免死胡同,algorithm,a-star,navmesh,Algorithm,A Star,Navmesh,我使用*算法在navmesh图形中查找方框和可移动字符之间的最短路径。该框用于跟随字符 如果角色位于障碍物或房间(例如)后面,则长方体将通过最短距离移动,如图所示。是否有方法防止长方体通过此路径并在房间内走动 由于在查找点之间的路径时必须避免向后移动,所以首先检查封闭列表中的任何条目,以查看它是否已经存在。假设你到达了一个角落,那么所有可以引导你回到角落的网格都已经存在于封闭列表中,你会被困在那里,成为一条死胡同。如果将下图中的房间视为小宽度,则可以看到这种情况。如果盒子一开始不在房间里移动,这

我使用*算法在navmesh图形中查找方框和可移动字符之间的最短路径。该框用于跟随字符

如果角色位于障碍物或房间(例如)后面,则长方体将通过最短距离移动,如图所示。是否有方法防止长方体通过此路径并在房间内走动

由于在查找点之间的路径时必须避免向后移动,所以首先检查封闭列表中的任何条目,以查看它是否已经存在。假设你到达了一个角落,那么所有可以引导你回到角落的网格都已经存在于封闭列表中,你会被困在那里,成为一条死胡同。如果将下图中的房间视为小宽度,则可以看到这种情况。如果盒子一开始不在房间里移动,这个问题本来可以解决的

可以使用光线跟踪或转向吗?找到了这个问题,但答案不清楚。

如果您使用的是*,那么最终应该会找到角色的路径(可能是在探索房间然后回溯之后)。这是失败吗?或者你是在问是否有一个优化来避免探索房间?是的,我是在问优化来避免探索房间,或者,我想避免回溯你的问题有点不清楚。“盒子进入房间”和“a*考虑进入房间的路径”之间有区别。只有在没有使用*找到正确路径的情况下,您才会遇到第一个问题。很抱歉,
。A*考虑到进入房间的路径,它可以通过在房间周围探索并可能回溯来走出房间。我喜欢避免回溯,尤其是在房间里探索,所以我问是否有可能不考虑路径。