Unity实现BStar寻路

本文介绍了BStar寻路算法在Unity中的应用,通过将算法类比为贪吃蛇来理解其原理。文章讨论了BStar算法在处理目标在封闭空间和需要绕路情况时的优势,同时也指出其贴墙行走和缺乏最优解的问题。针对这些问题,提出了路径平滑处理和两级寻路策略的优化方案,并展示了在大规模地图中高效的空间优化方法。
摘要由CSDN通过智能技术生成

欢迎了解BStar寻路算法

BStar算法归于人工智能或人工生命一类,是让对象呈现出拥有生命一般,朝着目标点移动并绕开障碍物,如果目标点被障碍物包围则停留在附近点。

想象空间

可以将BStar寻路想象成一个朝目标前进的贪吃蛇,如果遇到障碍就会分裂成2条贪吃蛇,一左一右绕开障碍,绕开障碍后继续向目标点移动,只要有一条蛇到达目标点即寻路结束。

这里我们需要三类蛇来满足我们的设计需求:

  1. 自由蛇(向目标点前进,遇到障碍会分裂成左转蛇和右转蛇)
  2. 左转蛇(只考虑绕着障碍左转,一直到绕出障碍变成自由蛇或者遇到已经绕过的路消失)
  3. 右转蛇(只考虑绕着障碍右转,一直到绕出障碍变成自由蛇或者遇到已经绕过的路消失)

可以想象在复杂的地形下,会出现很多蛇,最终先到终点的蛇就是我们要找的路径。

下图只有自由蛇 (2N - 10N) N代表自由蛇
在这里插入图片描述
下图开始是自由蛇(2N-5N)撞墙后变成了左转蛇和右转蛇绕开障碍,绕开后变成自由蛇奔向终点。
在这里插入图片描述

BStar寻路的优势

目标点在封闭空间内时,BStar效率优势明显
在这里插入图片描述
目标点在需要绕路的空间内时,BStar效率优势明显
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值