【Unity3D日常开发】A*插件的一些BUG记录
发布日期:2021-06-30 11:40:08 浏览次数:2 分类:技术文章

本文共 438 字,大约阅读时间需要 1 分钟。

问题:

在寻路的时候,会遇到加入经由点和目标点的问题

我的解决思路:

先将所有的经由点根据玩家当前位置进行排序,得到一个距离玩家当前位置从近到远的排序列表,然后让玩家当前点寻路到最近的经由点,然后再根据这个经由点寻路到下一个经由点,最后寻路到目标点,但是出现了一个BUG。。。

BUG:

会出现只能寻一条路,下面的路不进行寻路的BUG,最后经过A*算法插件的源码阅读发现了Heuristic(启发式)类下面的heuristicScale参数,这是一个float类型的值:

/ / /

///启发式的尺度。
///如果使用小于1的值,路径查找器将搜索更多的节点(更慢)。
///如果使用0,寻径算法将简化为dijkstra算法。这相当于将设置为None。
///如果使用大于1的值,寻径(通常)会更快,因为它扩展了更少的节点,但路径可能不再是最优的(即最短的可能路径)。
///
///通常你应该把它保留为默认值1。

最后我将这个值设置成2,就可以同时寻找多条路径,问题解决了~

转载地址:https://itmonon.blog.csdn.net/article/details/115707113 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【Python学习笔记】有C#基础怎么学习Python
下一篇:【Unity3D日常开发】提供开发效率系列之工具类的建立

发表评论

最新留言

不错!
[***.144.177.141]2024年04月15日 16时55分55秒