Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5096531
  • 博文数量: 921
  • 博客积分: 16037
  • 博客等级: 上将
  • 技术积分: 8469
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-05 02:08
文章分类

全部博文(921)

文章存档

2020年(1)

2019年(3)

2018年(3)

2017年(6)

2016年(47)

2015年(72)

2014年(25)

2013年(72)

2012年(125)

2011年(182)

2010年(42)

2009年(14)

2008年(85)

2007年(89)

2006年(155)

分类: 架构设计与优化

2015-05-20 16:56:55

在Unity3d中,我们一般常用的寻路算法:

1.A*算法插件

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

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

使用较好的地方:
a.策略游戏的策略搜索
b.方块格子游戏中的格子寻路


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

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

使用较好的地方:
a.游戏场景的怪物寻路
b.动态规避障碍

3.WayPoint寻路插件

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

使用较好的地方:
a.塔防怪物行进路径
b.AI巡逻路线



大概简单一说,其实大家心里都会有个底,什么情况用什么。并没有说一种寻路可以通吃所有场合或想适应所有场合。选择都是基于需求而定。


原文链接
阅读(3113) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~