Unity -- 导航寻路系统

来源:互联网 发布:淘宝网睡衣套装 编辑:程序博客网 时间:2024/04/30 01:01

首先将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组件的一些属性介绍

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

2.Nav Mesh Obstacle组件属性的介绍

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

3.Nav Mesh Link组件属性的介绍

  1. Start:起点
  2. End:终点
  3. Cost Override:花费,指的是花费的体力
  4. Bi Directional:方向(勾选则表示双向,反之为单向)
  5. Activated:是否有效
  6. Auto Update Position:自动更新位置

脚本中使用导航

  • 首先获取组件
  • SetDestination(点):设置目的地
  • RemainingDestance():与目的地的距离
  • Isstoped = true:停止导航
原创粉丝点击