Unity NavMesh:如何缩小与碰撞体的间距?
我烘焙的NavMesh Surface与碰撞体之间留出了较大的间距:

例如,在上方图片中,我需要NPC在粉色球体位置待机,但NavMesh Surface并未覆盖该区域。是否有方法调整NavMesh Surface的偏移距离?

以下是几种可行的解决方法:
缩小NavMesh Agent的物理参数:如果你的NavMesh Agent半径(
Radius)和高度(Height)设置得太大,烘焙时导航网格会自动远离碰撞体来适配Agent尺寸。直接调小这两个参数,重新烘焙后,导航网格会更贴近碰撞体。提高NavMesh Surface的烘焙精度:
选中NavMesh Surface组件,在Inspector的Advanced栏里,勾选Override Voxel Size,然后减小Voxel Size数值(数值越小,烘焙精度越高,网格贴合度越好)。同时调低Min Region Area,让原本被忽略的小区域(比如粉色球所在位置)也能被纳入导航网格。用NavMesh Modifier强制扩展区域:给粉色球所在区域的碰撞体添加
NavMesh Modifier组件,设置正确的可行走区域类型;如果是孤立区域,还可以用NavMesh Link把它和主导航网格连接起来,让NPC能正常移动过去。
内容的提问来源于stack exchange,提问作者anderlaini
相关产品推荐
相关产品推荐

