与重复场景共享相同的Navmesh

时间:2016-04-19 03:51:59

标签: unity3d navmesh

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

1 个答案:

答案 0 :(得分:1)

  

开始之前:如果您的项目中有大量资源,将序列化更改为强制文本可能会花费大量时间。因此,您可能希望将目标场景复制到新项目,执行下面提到的步骤并将其粘贴回来。 :)

Unity编辑器无法做到这一点,但有一种解决方法:

  1. 转到修改>项目设置>编辑并将资产序列化更改为强制文本(默认为混合) - 这可确保所有资源(包括您的统一场景文件)都保存为文本文件
  2. 现在在任何文本编辑器中打开场景文件(带有烘焙的NavMesh的文件)
  3. CMD + F或CTRL + F专注于搜索栏并输入" NavMeshSettings"。在 NavMeshSettings 中,最后一个主菜应该是 m_NavMeshData:{fileID:1234 //还有更多东西} - 这是对您已烘焙的NavMesh资产文件的引用。复制整行
  4. 现在打开要与NavMesh共享的第二个场景(再次在文本编辑器中打开)。找到以 m_NavMeshData 开头的完全相同的行,将其删除并超过上一个场景中的行。
  5. BOOM!
  6. 修改/提示:如果您愿意,可能需要再次将序列化更改为混合。短信序列化的唯一缺点是更大的文件。它主要用于版本控制和合并以及场景和东西......