A星寻路算法和Unity自带的寻路相比有什么优势
并没一种寻路适合所有场合,选择都是基于需求而定的。
1 A 算法与贪婪算法不一样,贪婪算法适合动态规划,寻找局部最优解,不保证最优解。
A是静态网格中求解最短路最有效的方法。也是耗时的算法,不宜寻路频繁的场合。一般来说适合需求精确的场合。
与启发式的搜索一样,能够根据改变网格密度、网格耗散来进行调整精确度。
使用的地方:
a 策略游戏的策略搜索
b 方块格子游戏中的格子寻路
2 Unity 自带的导航网格系统
Unity 内置了NavMesh导航网格系统,一般来说导航网格算法大多是“拐角点算法”。
效率是比较高的,但是不保证最优解算法。
使用的地方:
a游戏场景的怪物寻路
b动态规避障碍
用法很简单,把可以走的地形设置成一个叫做“Walk”的标签,然后不能走的地方设置成叫“cantWalk”的标签,然后就什么都不用管了,直接运行即可。 在没有任何障碍物的情况下,就和之前的寻路一样: 然后直接添加一个cube
这样需要创建两条射线,一条是你上面写的,另一条是小地图的摄像机发射的,比如小地图相机时CamraTab,那就是CamraTabScreenPointToRay(InputmousePosition);其实和主相机是一样的
0条评论