网上资料大多都是讲的 AI-导航(过时) 的使用方法,这里讲一下新的导航系统如何去掉不想参与寻路网格烘焙的方法。
希望结果如下:在水面与地面基本处于同一平面的情况下,也要让导航网格不覆盖水面。
1.窗口 - AI - 导航 ,打开新版导航设置窗口,这里和旧版相比,少了两个烘焙选项,其实是系统自动处理了,设置方法和旧版差不多,自行设置即可。
2.层级 - 右键 - AI - NavMesh Surface,或者任意游戏对象中挂载 NavMesh Surface 组件
3. 使用导航网格组件直接烘焙
4.由于我的场景中, 水面高度距离岸边只有不到1m, 而且坡度很缓,系统判断ai是可以到水面行走的。到这一步为止,和旧版的使用方法相同。
5.(重点)选中你不想让 ai 踏足的对象,添加组件 NavMeshModifier,勾选 Override Area,将type改为 Not Walkable; 并检查上面的 Affected Agents(影响对象)是否包含你即将要烘焙的ai对象,一般是选 all,除非你要寻路的对象个体之间体型差距巨大。
6.重新烘焙,此时可见导航网格不再包含水面