目录
2 区域Areas
2.1 区域和颜色
2.2 区域和成本
2.3 区域成本的作用
2.4 地图测试准备
2.5 如何实现
2.5.1 unity的2022之前的老版本
2.5.2 unity的2022之后的新版本
2.6 如果测试失败,是因为没有bake
2.7 测试前,必须先烘焙
3.1 Ares Mask
3.2 实测OK
1 NavMeshAgent 区域和成本的问题
- NavMeshAgent 除了代理相关
- 还有一个Areas
2 区域Areas
2.1 区域和颜色
- 之前,进行导航寻路的时候,地面上的颜色就是对应的这儿的颜色
- 不同的区域设定为不同的颜色,可以在这查颜色对比
2.2 区域和成本
- 每个区域可以设置为不同的成本
- 系统默认的几个区域也设置了同的成本
- 比如walk的 为1
- jump的为2
- 新建的可以自己修改
2.3 区域成本的作用
- 智能寻路/导航时再计算起点,终点的智能寻路的时候,会考虑成本
- 会选择最低成本的道路通过
- 比如会尽量绕开河流,沼泽地等等
2.4 地图测试准备
- 新建一个 Area类:river
- 修改其cost
- 把地图上新建一个长方体代表河流,把这个区域选择为 river
2.5 如何实现
2.5.1 unity的2022之前的老版本
2.5.2 unity的2022之后的新版本
- 需要在gameObject上新增1个 NavMeshModifier
- 设置数学
- affected agents: 选择是纯角色,还是全部
- area type : 属于哪种区域
2.6 如果测试失败,是因为没有bake
- 我设置为river 也不绕路
- 我设置为 non walkable 居然也直接走
- 感觉有啥问题: 不是即时生效的,必须先bake
2.7 测试前,必须先烘焙bake
- 修改Area 属性,区域后
- 必须去有 NavMeshSurface的 物体上,点击bake
- 直到你修改的区域,出现粉红色的区域颜色,代表bake成功
3 区域遮罩:针对 NavMesh Agent
3.1 Ares Mask
- 角色一定不走某个区域,但是怪物可以走
- 针对Agent
- 可以在Area Mask里勾选掉一些区域,这样角色就不走这个区域了
- 有点像区域了设置了 not walkable的效果