我在 3D 环境中手动创建了 NavGraph。我了解(并且之前已经实施过)一个 A* 例程,一旦您“进入图表”,就可以在图表中找到我的方式。
我感兴趣的是进入和“关闭”图表的最佳方式。
例如:所以例行程序是这样的:从源头向目的地射一条射线,如果没有任何阻碍,继续走。
如果有问题,我们需要使用图,所以要进入图,我们需要找到图上最近的可见节点。(为此,我之前根据与源的距离对图表进行了排序,然后从壁橱向最远的地方发射光线,直到找到没有障碍物的光线。)
然后运行标准 A*...
然后“退出”图表,通过与我们在图表上得到的方法相同的方法(用于计算上述 A* 的端点),所以我将光线从端点发射到最近的导航图节点。
所以到这一切都说完了,除非我的导航图非常密集,否则我花在上/下图上的时间比计算路径的时间还要多……
必须有更好/更快的方法吗?(是否有某种空间细分技巧?)