如何调整nav mesh生成规则,使其更贴近障碍物让actor可通过100单位宽间隙
导航网格贴合物体生成的调整方案
你可以按照以下步骤调整参数解决间隙无法生成导航面的问题:
- 首先核对
Agent Radius参数:你设置的Actor宽度为34,对应导航的Agent半径应设为17,不少开发者会误将宽度值直接填入半径输入框。若半径误设为34,导航系统会给障碍物两侧各预留34单位的安全边距,100单位的间隙扣除两侧共68单位边距后,剩余可通行宽度如果匹配不上采样精度就会被判定为不可通行。 - 调低导航网格的
Cell Size参数:默认的单元格尺寸如果过大,会导致边缘采样精度不足,把实际可通行的小间隙判定为障碍。建议将该值设为Agent半径的1/2到1/4,比如当前场景可以调整到8或者4,精度越高导航面越贴合模型边缘。 - 调低
Min Region Area参数:如果该值设置过大,间隙里的小范围可通行区域会被系统自动过滤合并,适当调低可保留小面积的导航面。 - 确认导航边界的覆盖范围:检查Nav Mesh Bounds Volume的范围是否完全覆盖立方体间隙的三维区域,避免因高度或者平面范围溢出导致对应区域没有参与导航生成。
- 核对障碍物碰撞设置:确认立方体的碰撞边界没有额外膨胀,导航障碍的边距设置没有超出模型本身范围,避免额外占用间隙空间。
- 确认
Agent Height参数:如果间隙有高度限制,需保证该参数值小于间隙的垂直高度,避免因高度不足过滤掉可通行区域。
所有参数调整完成后,可以在控制台输入RebuildNavMesh手动重建导航网格,按P键即可查看导航面生成结果。
内容的提问来源于stack exchange,提问作者Solci
相关产品推荐
相关产品推荐

