Unity导航寻路系统

发表于2018-07-11
评论0 2k浏览
导航寻路系统在各类RPG、设计、动作、冒险等游戏中有大量使用,通过该技术可以可以方便、快捷的开发出各种复杂应用。下面就让我们一起来学习下导航寻路系统。

首先将Navigation面板找出来,步骤如下图

然后选择所有地方与障碍物,然后到Navigation面板的Object下找到Navigation static勾选上

然后在到Navigation面板找到Bake,点击Bake

上图中参数的简介
1. Agent Radius:代理半径,也可以说是代理的宽度
2. Agent Height:代理的高度
3. Max Slope: 允许导航通过的最大坡度
4. Step Height:允许通过的台阶的高度
5. Drop Height:允许下落的高度
6. Jump Distance:允许跳跃的距离

点击之后Scene面板中变成如下效果,所有蓝色区域就是烘焙的导航区域

1.Nav Mesh Agent组件的一些属性介绍
Agent Type:代理的类型
Base offset:偏移,修改代理的外围
Speed:导航时移动的最大速度
Agular Speed:导航是旋转的速度
Acceleration:旋转加速度
Stopping Distance:导航停止的距离
Auto Braking:是否自动停止
如果想要开启跳跃在object中把Generate offMeshLinks勾选上
Radius:导航代理的半径(指外围)
Height:导航代理的高度
Quality:躲避障碍物的质量(一般我们都选择高质量)
Priority:优先级
Auto Repath:自动重新规划路径

2.Nav Mesh Obstacle组件属性的介绍
Carve:是否时刻修改烘焙Bake
1.Move Threshold:移动多远的距离开始烘焙
2.Time To Stationar:多长时间开始重新烘焙
3.Carve Only Statio:是否反静态导航

3.Nav Mesh Link组件属性的介绍
Start:起点
End:终点
Cost Override:花费,指的是花费的体力
Bi Directional:方向(勾选则表示双向,反之为单向)
Activated:是否有效
Auto Update Position:自动更新位置

脚本中使用导航
首先获取组件
SetDestination(点):设置目的地
RemainingDestance():与目的地的距离
Isstoped = true:停止导航

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

标签: