通常场景中物体设置为static或Navigation Static后,打开Navigation使用默认设置烘焙NavMesh,模型顶部和底部会出现蓝色网格,但其中有部分属于不可能到达区域,如下图

本文介绍两种可去掉NavMesh中不需要网格的方法:

方法一:设置去掉网格对应模型为不可行走区域,并调整模型使其不与地面重合

1.选中要去掉网格靠近模型

2.选择Navigation->Object,设置Navigation Area为Not Walkable

3.选择Navigation->Bake,点击Bake按钮重新烘焙

烘焙完成后可看到cube上方蓝色网格已消失,但此时cube下方还有蓝色网格,如下图

要去掉cube下方蓝色网格,则可以把cube向上移动,使其与地面不重合,再烘焙,如下图

烘焙完成如下图

方法二:通过NavMesh Cleaner插件去掉不需要网格

插件链接:NavMesh Cleaner | Behavior AI | Unity Asset Store

使用方法如下

1.在场景中任意物体上添加NavMeshCleaner脚本组件

2.然后按住键盘Ctrl键,鼠标左键点击Scene中蓝色网格(可行走区域),之后场景中会出现绿色标记,并且NavMeshCleaner脚本组件的Walkable Point会自动记录点击点,如下图

3.点击NavMeshCleaner脚本组件上的Calculate按钮,然后确认场景中粉紫色区域是否为要去掉网格

4.若需要重新修改,则点击NavMeshCleaner脚本组件上的Reset WalkablePoints和Reset Mesh按钮重置后,重新进行2.3步骤;若不需要修改则选择Navigation->Bake,点击Bake按钮重新烘焙,即可得到想要的导航网格,如下图

为了方便观察可,通过NavMeshCleaner脚本组件上的Hide Mesh/Show Mesh按钮,控制Scene中粉紫色网格的显示与隐藏。

好文链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: