Unity NavMesh 清除不可行走区域

通常场景中物体设置为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中粉紫色网格的显示与隐藏。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值