Unity学习笔记:自动寻路

Window菜单栏中的Navigation调出自动寻路菜单

需要计算寻路的物体(地面和障碍物,角色不需要)需要在Static中勾选Navigation Static选项参与计算。

Navigation 可移动,不可移动,跳跃

GenerateOffMeshLinks 设置当前物体可以被跳跃过来

在全部设定好后Back页面点Back对地面进行烘焙

Agent Radius设定边框大小,边框较大时将距离障碍物较远,较小时会更贴近障碍物甚至碰到障碍物

Agent Hieght 设定可以进行移动的地面最小可以数值(如果设定为0,则地面上海拔在0坐标以下的位置将从寻路路线中被剔除)

Max Slope 调节倾斜物体角度小于多少可以被攀爬(自身为40而设定为45则自己可以被攀爬,反之不行。)

Step Height 物体在多少的高度之内可以当做台阶被攀爬(如果设定为10而自己高度为5,则自己直接被爬过,反之则不行)

Drag Height可以跳下的最大的高度
Jump Distance 可跳跃的距离

Advanced
Manual Voxel Size 使导航网格更加密集,并且密集度可以被控制(勾选后即使不进行数据更改也会消耗4倍性能开销,除非地图十分巨大,否则不勾选)

Min Region Area 忽略无法到达的导航网格,超出设定的距离的导航网格将被删除(未完成,效果不尽人意)。

Height Mesh使用更高等级的材质,使导航更加精确,同时加大性能开销。

Agents 设定多个可操控角色,每个角色属性可以不相同

添加组件Navigation.Nav Mesh Agent:
适用于设定中那个可操控角色的属性
Base Offset 偏移,不规则模型时通过便宜确认中心点。

Navigation 可操纵角色
Speed 速度
Angular Speed 角速度
Acceleration 加速度
Stpping Distance 距离目标位置多远停下
Auto Brakinga  勾选后自动判断目标位置并停下,不勾选的话到目标位置不停止惯性使物体不断移动。
Radius 半径
Height 高度
Quality 设置避让障碍物的计算能力(增加性能开销)
Priority 避让优先级,如果操控物体此属性值低于被碰撞物体,就会挤开被碰撞物体,反之则会绕开。
Auto Traverse Off 跳跃能力 从一个面跳向另一个面
Auto Repath 自动寻路时受到影响后不会中断
Area Mask 寻路时参与计算的物体(通常为默认Everything)

Nav Mesh Obstacle 网格障碍物(多应用于动态障碍物)

Off Mesh Link 从点到点的跳跃    

Cost Override 设置跳跃用到的性能开销(高了不明显,通常为-1)
BiDirctional 双向跳跃
Activated 跳跃更能是否有效
Auto Update Position 位置点实时变动
Nav 设定可否跳跃?

------------代码部分-------------
using UnityEngine.AI; 引用数据库

NavMeshAgent.SetDstination(Vector3)传入坐标并直接寻路至目标位置

NavMeshAgent.path.corners 返回一个Vector3类型数组,里面保存所有路径点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值