深圳市住房建设局官方网站规范机关单位网站建设
目录
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的效果
 

