linux - Unity 中的 LGSVL 构建为 Linux 目标而非 Windows 提供了 Pink Sky

标签 linux unity3d

我已经在适用于 Windows 和 Linux 以及 Windows 和 Linux 计算机的适当版本的 Unity 中构建了 LGSVL。两个着色器似乎总是在 Linux 构建中被禁止,而在 Windows 构建中没有被禁止。我可以通过将其中一个(粒子/添加剂)包含在图形设置“始终包含着色器”列表中来修复它们(我应该这样做似乎很奇怪),但另一个 Skybox2CubeBlend 拒绝工作。我的天空永远是粉红色的。我已将它(以及它使用的 Day、Night 和 RiseSet 立方体贴图)也放入 Resources 文件夹中,但没有更好的结果。似乎着色器在 Linux 中不受欢迎,但如果我下载并运行该软件的预编译 Linux 版本,它就可以正常工作。这表明着色器本身一定没问题,只是没有进入我的构建或其他东西。也许这是特定于 LGSVL 的构建过程问题。有任何想法吗?同样,这一切在 Windows 构建中都运行良好。

最佳答案

看起来在 LGSVL 项目中,在 Prefabs 文件夹中,有一个 AssetBundleManager。这个预制件在检查器窗口中有一个特殊的按钮,可以根据您正在构建的目标为您创建 Assets 包。选择用于 Linux x64 的那个使其在 Assets 包中包含所有必要的东西。不再有粉红色的天空!

关于linux - Unity 中的 LGSVL 构建为 Linux 目标而非 Windows 提供了 Pink Sky,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55480669/

相关文章:

linux - 带有 RT Linux(RT-PREEMPT 补丁)的 ZeroMQ 是实时的吗?

linux - 如何使用 unixODBC 和 FreeTDS 连接到 Azure?

linux - 删除目录内的文件而不是整个目录

c# - Unity 中音乐播放器的问题

c# - 如何从 Unity 连接到数据库

linux - 在 bash 中使用 awk 命令从记录中提取单个字段

c# - 防止静态属性在异步函数初始化之前被访问

c# - 为具有多个顶点的网格创建单个 MeshCollider

c# - 寻找增强算法 : Save game state

linux - 在 vm 共享文件夹中编译 ONOS 时权限被拒绝