目录
概念
在Unity中,导航区域(NavMesh Area)是导航网格(NavMesh)中的一部分,用于定义不同类型的地形和路径行为。导航区域可以为不同的地形类型指定不同的行走成本,使AI角色在路径规划时能够考虑到这些成本,选择最优的行走路径。
参数
关于成本
成本可以理解为走1米消耗的体力。所以从起始点到目标点,系统就会计算成本,看看是直接穿过河流到达目标点消耗的成本低,还是绕过河流到达目标点消耗的成本低,从中择优。
应用
添加一个水区域,成本为3
在场景中添加一个立方体区域,模拟河流区域
给河流设置导航静态、支持网格链接和导航区域
重新烘焙
可以看到,河流区域以及变成了粉色,也就是河流导航区域
运行程序。
如果绕过河流到达目标点的成本低,角色就会选择绕过河流
如果直接穿过河流到达目标点的成本低,角色就会选择直接穿过河流
区域遮罩
在导航代理组件中,有一个区域遮罩,它代表角色能移动的区域,图中选择的是everything,也就是每个区域
如果我们在遮罩中,取消勾选water区域,则角色将无法到达这个河流区域
通过遮罩,我们可以设置不同角色可以到达的区域,比如人类不能到达毒气区域,而僵尸可以自由穿梭于毒气之中。