与重复场景共享相同的 Navmesh

Share same Navmesh with Duplicated Scenes

我有一个带有地图(一些建筑物和道路)和烘焙 Navmesh 的场景,然后我开始通过修改内部的一些对象(不是地图或世界)复制同一场景,所以所有场景都共享相同的 Navmesh 不知何故,然后我不小心删除了 Navmesh,现在我似乎找到的唯一方法是为每个场景创建一个新的烘焙 Navmesh,这会增加构建大小太多!,我如何重新共享相同的烘焙 Navmesh 与所有场景因为里面都有相同的地图?我正在使用最新的 Unity3D。

Before You Start: if you have a lot of assets in your project changing serialization to Force Text may take a lot of time. So you may want to copy the target scenes to a new project, do the below mentioned steps and paste them back. :)

无法从 Unity 编辑器执行此操作,但有一个解决方法:

  1. 转到“编辑”>“项目设置”>“编辑器”并将资产序列化更改为强制文本(默认为混合) - 这确保所有资产,包括您的统一场景文件都保存为文本文档
  2. 现在在任何文本编辑器中打开您的场景文件(带有烘焙 NavMesh 的文件)
  3. CMD+F 或 CTRL+F 聚焦搜索栏并输入 "NavMeshSettings"。在 NavMeshSettings 中,最后一个主菜应该是 m_NavMeshData:{fileID:1234 //这里还有一些东西} - 这是对您烘焙的 NavMesh 资产文件。复制整行
  4. 现在打开您要将 NavMesh 共享到的第二个场景(再次在文本编辑器中打开)。找到以 m_NavMeshData 开头的完全相同的行,将其删除并超过前一个场景中的行。
  5. 砰!

Edit/Tip: 如果需要,您可能想再次将序列化更改为 Mixed。文本序列化的唯一缺点是文件更大。它主要用于版本控制和合并以及场景和东西...