求解一个a星算法问题,为什么会绕远路
unity3d吧
全部回复
仅看楼主
level 5
赫赫真是好人
楼主
黄色是起点,15,0,1是终点,红色是路线,黑色是障碍物,我经过计算发现饶了远路
当人物走到19,0,5这个格子的时候,会向左上方移动,我就觉得很奇怪为什么不向右边的20,0,5移动
经过计算,(18,0,6)格子的g=104,h=80,f=184;(20,0,5)格子的g=100,h=90,f=190;
注释(斜着移动一个格子是加14,横着竖着移动加10,预估距离计算用的是曼哈顿距离)
2023年11月16日 04点11分
1
level 5
赫赫真是好人
楼主
大佬们进来点个赞呗
2023年11月16日 05点11分
2
level 8
珍可爱的噶哦😾
逻辑写对了的话就不会绕远路 有可能是哪里的逻辑不那么合理
2023年11月16日 06点11分
3
level 6
可口雪碧啊
不是自己写的方法?所以不确定怎么算的路径是这意思吗
2023年11月16日 06点11分
4
赫赫真是好人
就是算出来右边的代价要比左上角的大,感觉有点奇怪
2023年11月16日 06点11分
level 7
小飞1536
调个点呗,19没有找到20,或者其他条件阻断了
2023年11月16日 06点11分
5
赫赫真是好人
没有找到的原因,就是左上角的格子的代价比右边的小
2023年11月16日 06点11分
赫赫真是好人
按照常理来说,应该右边的代价要更小一点才对
2023年11月16日 06点11分
小飞1536
这不调到了么,那就是价值的问题,再往下调
2023年11月16日 06点11分
赫赫真是好人
?继续咋调
2023年11月16日 07点11分
level 6
可口雪碧啊
应该是目标点位置便左的原因吧
2023年11月16日 07点11分
6
赫赫真是好人
我也猜是这个原因
2023年11月16日 07点11分
赫赫真是好人
简单一点的场景,路线就没问题
2023年11月16日 07点11分
赫赫真是好人
一旦是这种靠左就会这样
2023年11月16日 07点11分
可口雪碧啊
@赫赫真是好人
H的计算方法可能不合适
2023年11月16日 07点11分
level 5
赫赫真是好人
楼主
2023年11月16日 07点11分
7
level 3
v-Radon
我学的a星跟你是一样的我遇到的是这个问题,下方为起点,红色是算法寻路出来的路径,蓝色是实际最短路径。
2023年11月16日 08点11分
8
贴吧用户_0NKKQJt
A星就是按照红色这种方式去逐步接近目标。
2023年11月16日 08点11分
大脚怪君
需要拐弯的时候,多计算一条不拐弯的,直到与主路汇合,如果路程低于主路就代替主路
2023年11月27日 01点11分
level 12
魔钥MK
很正常,寻路最终都要二次优化,遍历路径时周围点有后续点则跳到该索引
2023年11月16日 15点11分
9
level 6
大脚怪君
曼哈顿距离是x加y, 坐上就是6 右边是7
2023年11月27日 00点11分
10
1