寻路算法:A*、NavMesh、WayPoint 区别和应用场景

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Windgs_YF/article/details/87375845

1.A*算法插件

 

与贪婪算法不一样,贪婪算法适合动态规划,寻找局部最优解,不保证最优解。A*是静态网格中求解最短路最有效的方法。也是耗时的算法,不宜寻路频繁的场合。一般来说适合需求精确的场合。

 

与启发式的搜索一样,能够根据改变网格密度、网格耗散来进行调整精确度。

 

使用较好的地方:

a.策略游戏的策略搜索

b.方块格子游戏中的格子寻路

 

 

2.U3D自带的导航网格系统

 

U3D内置了NavMesh导航网格系统,一般来说导航网格算法大多是“拐角点算法”,具体大家可以去查下。效率是比较高的,但是不保证最优解算法。

 

使用较好的地方:

a.游戏场景的怪物寻路

b.动态规避障碍

 

3.WayPoint寻路插件

 

速度最快,但相应来说表现也非常局限,它常常走“Z”型的轨迹,并不适合复杂场合的使用。例如它不能根据宽度、高度、路径点耗散等来改变行进路径。

 

使用较好的地方:

a.塔防怪物行进路径

b.AI巡逻路线

没有更多推荐了,返回首页