博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
A*算法、导航网格、路径点寻路对比(A-Star VS NavMesh VS WayPoint)
阅读量:6956 次
发布时间:2019-06-27

本文共 537 字,大约阅读时间需要 1 分钟。

在Unity3d中,我们一般常用的寻路算法:
 
1.A*算法插件
 
与贪婪算法不一样,贪婪算法适合动态规划,寻找局部最优解,不保证最优解。A*是静态网格中求解最短路最有效的方法。也是耗时的算法,不宜寻路频繁的场合。一般来说适合需求精确的场合。
 
与启发式的搜索一样,能够根据改变网格密度、网格耗散来进行调整精确度。
 
使用较好的地方:
a.策略游戏的策略搜索
b.方块格子游戏中的格子寻路
 
 
2.U3D自带的导航网格系统
 
U3D内置了NavMesh导航网格系统,一般来说导航网格算法大多是“拐角点算法”,具体大家可以去查下。效率是比较高的,但是不保证最优解算法。
 
使用较好的地方:
a.游戏场景的怪物寻路
b.动态规避障碍
 
3.WayPoint寻路插件
 
速度最快,但相应来说表现也非常局限,它常常走“Z”型的轨迹,并不适合复杂场合的使用。例如它不能根据宽度、高度、路径点耗散等来改变行进路径。
 
使用较好的地方:
a.塔防怪物行进路径
b.AI巡逻路线
 
 
 
大概简单一说,其实大家心里都会有个底,什么情况用什么。并没有说一种寻路可以通吃所有场合或想适应所有场合。选择都是基于需求而定。

转载于:https://www.cnblogs.com/kanekiken/p/7533507.html

你可能感兴趣的文章
redis 1
查看>>
Python安装pycurl失败,及解决办法
查看>>
cocos2d的常用动作及效果总结之四:Special Actions
查看>>
[ lucene扩展 ] MoreLikeThis 相似检索
查看>>
如果返回结构体类型变量(named return value optimisation,NRVO)
查看>>
C# 多线程详解 Part.02(UI 线程和子线程的互动、ProgressBar 的异步调用)
查看>>
基于shiro授权过程
查看>>
JQuery对象和DOM对象的区别与转换
查看>>
使用 Toad 实现 SQL 优化
查看>>
.NET开发技巧——从Winform穿越到WPF
查看>>
2135亿背后的双11项目协作怎么玩?
查看>>
DRDS SQL 审计与分析——全面洞察 SQL 之利器
查看>>
微信小程序:模板消息推送实现
查看>>
CodePush自定义更新弹框及下载进度条
查看>>
自己总结的php开发中用到的工具
查看>>
小程序视频或音频自定义可拖拽进度条
查看>>
PHP导出超大的CSV格式的Excel表方案
查看>>
Mac 环境下如何生成Git shh key
查看>>
jenkins 使用磁盘检查插件 disk check plugin
查看>>
使用 Ruby 拓展 Vim
查看>>