项目考虑地形比较复杂,然后有一些特定的区域不想生成NavMesh,所以采用的方案是制作了一个独立的地形碰撞Mesh用于生成NavMesh。
带来的问题是NavMesh没有考虑到墙壁之类的障碍物的存在。
现在的做法是把障碍物下面的NavMesh给挖空。这是不是最合理的做法?
具体的做法是设置障碍物模型的下面蓝框里的属性,这样做是不是对的?
[Image Removed]
还有上述的流程如果有什么不妥当的地方也请指正。
项目考虑地形比较复杂,然后有一些特定的区域不想生成NavMesh,所以采用的方案是制作了一个独立的地形碰撞Mesh用于生成NavMesh。
带来的问题是NavMesh没有考虑到墙壁之类的障碍物的存在。
现在的做法是把障碍物下面的NavMesh给挖空。这是不是最合理的做法?
具体的做法是设置障碍物模型的下面蓝框里的属性,这样做是不是对的?
[Image Removed]
还有上述的流程如果有什么不妥当的地方也请指正。
您好,bOverrideNavigationExport和bForceNavigationObstacle这两个属性在编辑器下是transient,也就是说一般在编辑器下点击StaticMesh的属性面板是不显示的,之所以这张图片会显示我猜想可能是他把这两个属性强制暴露出来了。
这种方法是不以完整碰撞几何体的形式而是使用简化体积形状标记障碍区域,另一种方式是勾选bCanEverAffectNavigation即可,不用开启前面两个属性,它会根据静态网格体体积来生成障碍区域,如果某个障碍物是动态移动的,在动态导航中重建的效率第一种更高。
如果是静态导航,对于某个特定区域不想生成导航数据同时没有复杂形状精度的要求,可以添加NavModifierVolume或NavModifierComponent把区域设为NavArea_Null即可