Unity有一个在GitHub的组件NavMeshComponents,他有NavMeshSurface这个代码,可以再游戏运行时构建NavMesh网络,我打包出去会生成:NavMeshComponents.dll,当我直接拖入unity的工作夹Asstes里面它可以直接使用这个dll并且能在游戏中构建NavMesh,但如果是在Visual Studio添加引用添加
NavMeshComponents.dll,现在visual studio不会报错,但是回到unity还会报错,怎么解决这个问题,我不想直接拖入unity编辑器,因为我打算给外部的游戏动态构建NavMesh,请问如何解决这个问题
问题:NavMeshComponents.dll拖入unity游戏场景可以直接使用,但是在visual studio添加引用添加这个dll就只能在visual studio无报错,unity报错信息
Assets\Load.cs(25,110): error CS0246: 未能找到类型或命名空间名“NavMeshSurface”(是否缺少 using 指令或程序集引用?)
我希望在visualstudio添加这个引用也可以在游戏中动态构建这个NavMesh
引用 皆我百晓生 小程序回复内容作答:
在Visual Studio中添加引用只能让你的代码编译通过,并不能保证在Unity中正常运行。在Unity中使用第三方组件,最好还是直接将组件拖入Unity编辑器来使用。
如果你想在Visual Studio中添加引用并在Unity中正常运行,可以尝试以下方法:
确保Unity项目和Visual Studio项目是同一解决方案。在Visual Studio中,右键点击解决方案文件,选择添加->现有项目,然后选择Unity项目文件(.csproj格式)。
在Unity项目中,将NavMeshComponents.dll文件放在Assets/Plugins文件夹中(如果没有Plugins文件夹,可以手动创建一个)。
在Unity中,创建一个空的GameObject,并将一个脚本附加到该对象上。
在该脚本中,使用using关键字导入NavMeshComponents命名空间,然后使用NavMeshSurface类来构建NavMesh。
在Unity编辑器中,点击播放按钮来运行你的游戏,查看是否能够在运行中动态构建NavMesh。
请注意,这种方法仍然不是推荐的做法,因为直接将组件拖入Unity编辑器更加简单和可靠。