看到一篇关于寻路优化的文章,简单翻译了一下,原文在这里
译文并未照搬原文翻译,多处是意译
原文图片已经失效,不过其他转载网址仍有图片,我对应着补了一下
寻路对很多游戏来讲都是不可或缺的元素,在一般的游戏中...,使用一些基本的寻路算法(譬如 BFS, Dijkstra 或者 A* 等等)就可以很好的解决寻路问题,但是在另一些游戏中,尤其是在游戏地图比较庞大的情况下,这些基本寻路算法需要耗费大量的时间进行寻路,...进而造成游戏卡顿,这使得寻路优化变得非常重要....分帧寻路.如果你的游戏并不需要在一帧中就获取完整的寻路结果,那么我们就可以使用分帧寻路来优化 A* 算法.我们可以设置一个循环上限,如果 A* 算法在该循环限制内没能完成寻路,我们便暂停当前寻路,并在下一帧继续...在开始实际寻路之前先进行一次低层级的寻路.你可以在原游戏地图的基础上预先构建一张由部分节点构成的地图,然后在实际真实寻路之前,先在这张低层级地图上进行寻路,这样你就可以获取到一条由部分节点构成的寻路路径