Unity3D官方早就推出了NavMeshComponents,地址:https://github.com/Unity-Technologies/NavMeshComponents,下载后把NavMeshComponents文件夹整体考到工程里,在场景物体(isStatic = true)的根节点添加NavMeshSurface脚本,然后再运行时获取到NavMeshSurface,调用一下 meshSurface.BuildNavMesh();如下图:
所以,根据原理,只需要在有动态障碍物的时候重新烘焙一下NavMesh即可,至于会不会很耗性能,这要结合实际实际场景中物体的数量具体问题具体看了。