参考资料1,里面有 相关 的 教程 。
通常 使用以前 的烘培,需要 把物体 变成 静态 物体,现在 UNITY 升级后 使用 相关的组件 可以动态自动烘培
----------------------------------------建立复制 的地形,一键烘培 使用 navMeshSurface
Roads物体添加NavMeshSurface.cs组件,就可以自动烘培了(使用的模型是 Unity 的AssetStore 的simple town lite- cartoon assets)
下载 压缩包,解压后,在如下图所示的位置,复制NavMeshSurface.cs 到工程的文件内,即可添加组件。
把如下图所示的文件复制粘贴 ,即可正常使用
----------------------------------------还是同上的模型,固定范围内动态自动烘培
UNITY 菜单栏 Window-- Navigation
一般进行烘培需要对 Navigation 视图的 Scene Filter 和 Navigation Static 进行设置。然后进行烘培
现在可以固定范围内动态自动烘培
对道路 的预制体 添加如下 2个组件MeshCollider(不一定) 和NavMeshSource Tag(必备)
找到 道路 的预制体 的 Mesh
对 道路 的 Mesh 进行如下图所示的设置(貌似,一定要对 道路 的Mesh 进行如下设置,才可以动态 烘培)
(Read/Write Enabled必备)
如果没有对上面 的 道路 的 模型 的Mesh 进行 如上图所示的设置,就会出现如下图所示的错误。
RuntimeNavMeshBuilder: Source mesh road_straight_mesh does not allow read access. This will work in playmode in the editor but not in player
UnityEngine.AI.NavMeshBuilder:UpdateNavMeshData(NavMeshData, NavMeshBuildSettings, List`1, Bounds)
LocalNavMeshBuilder:UpdateNavMesh(Boolean) (at Assets/Examples/Scripts/LocalNavMeshBuilder.cs:56)
LocalNavMeshBuilder:OnEnable() (at Assets/Examples/Scripts/LocalNavMeshBuilder.cs:38)
运行前,没有自动烘培
点击运行后,就 可以在固定范围内 自动烘培。在 Navigation 视图下,可以看到是 自动烘培的
----------------------------------------在固定的范围内 自动烘培
(模型来自 unity asset store 的poly city - free cartoon pack)
对地形 添加 如下图所示的2个组件,Local NavMesh Builder和Nav Mesh Source Tag
如果对 地形 panel 进行移动,烘培的 面积还是固定不变的
----------------------------------------参考资料1,里面的内容
----------------------------------------
----------------------------------------
参考资料:
1.
2.
3.
[Unity][NavMesh]Unity NavMesh Compent 寻路组件动态自动烘培更新2018
4.