unity 2d 自动寻路
目录
1.一款好用的2d寻路软件
2.插件介绍
3.各控件属性说明
4.插件与Demo下载地址
1.一款好用的2d寻路软件
适用于可移动障碍物的场景,如:室内家居可随意移动位置,
以下示例为ui--canvas--image方式实现,与spriteRender的实现方式大同小异。

红色部分为人物,黑色部分为障碍物,白线为移动路径


2.插件介绍
PolyNav2D 脚本 -- 为可移动范围边界,用collide 2D限制

黑块为障碍物 用collide2D+PolyNavObstacle脚本限制,⚠️注意添加障碍物Layer层级

红块为地图内随意移动的物体,用collider2D + PolyNavAgent脚本限制,如:人物

3.各控件属性说明

组件
PolyNav2D 寻路地图,一般来说 有且只有一个, 寻路的主要接口就在这个组件里
PolyNavObstacle 障碍物
PolyNavAgent 导航代理, 带有移动功能。这个可有可无,可以自己实现
PolyNav2D 必须搭配一个碰撞器(表示导航的范围)
Obstacles Mask 障碍物的 Layer,只有在这个层级的障碍物才有效
AutoRegenerateInterval 更新障碍物的间隔,如果障碍物会更新的话,就需要,否则配置0
Radius Offset 障碍物范围加大。因为单位有体积。
PolyNavObstacle 必须搭配一个碰撞器(表示障碍物的范围)
ShapeType 障碍物形状,跟碰撞器有关
ExtraOffset 跟 PolyNav2d 中的 Radius Offset 一个意思
invertPolygon 是否反转多边形的点,如果同一个游戏物体上有 SpriteRenderer,则自动为真。 这个要非常注意,我的建议是,除非使用SpriteRenderer自动生成的碰撞器,否则就不该勾选。
PolyNavAgent
map 可以指定一个 PolyNav2D, 如果不指定那么会默认使用场景中找到的第一个
SetDestination 导航到某个位置。
1.如果出现寻路找不到路径。首先要给 Radius Offset 设置一个非0值
2.如果还找不到路径, 看障碍物是否勾选invertPolygon, (SpriteRenderer)为障碍物的情况下,这个无效。
4.插件与Demo下载地址
去下载
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
