poly nav 2d

发表于2018-04-17
评论0 6.5k浏览

Whats 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,然后将转换后的点传给agentsetDestination即可。

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

 

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

标签: