Unity:Linux 上的所有网格过滤器都缺少网格

Unity: Missing meshes on all mesh filters on Linux

我在为 Linux 平台创建构建时遇到了一些问题。在同一分支和 Unity 版本(2019.3.13f1 Professional)上,一切都在 Windows 上完美运行。 Linux 机器上项目中的所有网格过滤器都缺少网格。它们甚至在检查器中都不可见。

出现不支持 OpenGL 的错误。 Platform StandaloneLinux64 with device OpenGLCore 不支持 High Definition Render Pipeline,不会发生渲染 UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)(在 /home/builduser/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:187) 我使用 Vulkan 而不是 OpenGL。但是问题依旧。

重新加载时,所有网格出现错误: “导入 FBX 错误: 无法读取文件 abc.FBX。意外的文件类型。

"Inspector Looks like this on selecting the meshes

除了 OpenGL 驱动程序问题之外,您还必须确保在您的存储库中提交 .meta 文件。 Unity 内部参考文件基于位于这些元文件中的 id。没有它们,Unity 将不知道哪个外部文件分配给了哪个 GameObject,这也可能是不显示网格的原因。

但是,当您手动 drag-and-drop 将网格体放到 Unity 上时,它会重新创建 .meta 文件并将其分配给您刚刚创建的新游戏对象,这可以解释您注意到的行为。

我解决了这个问题。问题是我必须做“git lfs pull”而不是“git pull”。这可能对其他人有帮助。