Unity3d 与复制的场景共享相同的Navmesh

Unity3d 与复制的场景共享相同的Navmesh,unity3d,navmesh,Unity3d,Navmesh,我有一个场景,有地图(一些建筑和道路)和烘焙的Navmesh,然后我开始复制同一场景,修改其中的一些对象(不是地图或世界),因此所有场景不知何故共享同一个Navmesh,然后我意外地删除了Navmesh,现在,我找到的唯一方法是为每个场景创建一个新的烘焙Navmesh,这会使构建大小增加太多!,既然所有场景的内部都有相同的地图,如何与所有场景重新共享相同的烘焙Navmesh?我正在使用最新的Unity3D 开始之前:如果项目中有大量资产,将序列化更改为强制文本可能需要很多时间。因此,您可能希望将

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

开始之前:如果项目中有大量资产,将序列化更改为强制文本可能需要很多时间。因此,您可能希望将目标场景复制到新项目中,请执行以下步骤并将其粘贴回:

从Unity editor无法做到这一点,但有一个解决方法:

  • 转到编辑>项目设置>编辑器,将资源序列化更改为强制文本(默认为混合)-这将确保所有资源(包括unity场景文件)都保存为文本文档
  • 现在在任何文本编辑器中打开场景文件(具有烘焙NavMesh的文件)
  • CMD+F或CTRL+F以集中搜索栏并键入“NavMeshSettings”。在NavMeshSettings中,最后一道主菜应该是m_NavMeshData:{fileID:1234//还有一些其他东西}-这是对烘焙NavMesh资产文件的引用。复制整行
  • 现在打开要共享NavMesh的第二个场景(再次在文本编辑器中打开)。找到以m_NavMeshData开头的完全相同的行,将其删除,然后越过上一场景中的行

  • 编辑/提示:如果愿意,您可能需要再次将序列化更改为混合。文本序列化的唯一缺点是文件更大。它主要用于版本控制和合并以及场景等…

    我明天会尝试一下,并告诉你结果,这就是我们可以称之为天才的答案!!我现在就试过了,只花了5分钟就注意到了你提到的,再次感谢你的精彩破解!