poly nav 2d
What’s poly nav 2d?
Poly|Nav is a lightweight polygonal based 2D pathfinding solution using A*, that is extremely easy to setup and use, made for your Unity's new 2D system games!
简单解释:Poly|Nav是使用A*基于多边形的2D寻路解决方案。
一些特点:
轻松的定义可行走与障碍区域的多边形;
在运行中也可以更改多边形;
Api使用方便简单等。
上图可见:一个大的可行走Polygon内包含了若干个小的不可行走的Polygon。
效果:
寻路、过程中改变障碍演示。
使用介绍:
1.polynav2d脚本准备
PolyNav2D 挂载到可行走区域上
PolyNavAgent 挂载到行走对象身上
PolyNavObstacle 挂载到障碍区域上
2.地图数据准备
3.行走对象
行走对象挂载PolyNavAgent,我们可指定agent相关事件相应方法,让它做具体逻辑,如寻路开始,让行走对象播放走路的action,到达目地为待机action等等。
4.触发寻路
点击屏幕即可,我们需要将点击点screen space转换为world space,然后将转换后的点传给agent的setDestination即可。
var agent = playerObj.GetComponent<PolyNavAgent>();
agent.SetDestination(target);
另外,agent.activePath可得到当前路径数据,可将数据告诉后台,用来通知视野玩家移动路径信息。而这里客户端利用PolyNav寻路,收到后台通知某行走对象路径变化时,只需要取列表中最后一个数据点作为目标点,传给指定行走对象的agent即可。
学习网址:
https://assetstore.unity.com/packages/tools/ai/poly-nav-2d-pathfinding-14718
http://www.cnblogs.com/neoragex2002/archive/2007/09/09/887556.html