【问题标题】:Shader work in editor but is white in build着色器在编辑器中工作,但在构建中是白色的
【发布时间】:2021-05-07 19:05:30
【问题描述】:

我正在统一图中构建一个着色器,它在编辑器中与构建完全不同。

它是存在的,可以从眼镜反射中看到,但看不到颜色和其他部分。

我做错了什么?

着色器 (download shadergraph file ):

在编辑器中:

导致构建:

【问题讨论】:

  • 你使用后处理,它是如何设置的?
  • 着色器在我的设备 (Pixel) 上工作,使用 LWRP 示例项目 Unity 2019.2.8 进行测试。
  • 啊...所以肯定有东西。好的,即使只有标准的东西处于活动状态,我也会尝试关闭每个 ppstack 元素。让我们看看发生了什么。 (我现在只禁用了 hdr)

标签: unity3d shader


【解决方案1】:

您是否从代码中加载正在使用的纹理? 如果是这样,则可能是您构建游戏时未包含这些纹理(如果未在其他任何地方引用它们,unity 将在您的构建中 not include them,因为它不会检查您的源代码)。

【讨论】:

  • 我知道这个问题。不,我在 Resouces 中并且(通常)包含在预加载资产中。它们连接到应用于不同模型的材料。它们不是由脚本或其他(简单材料)处理的。
  • Glasses 会产生反射(即使它在已发布的图像上看起来是黑色的),所以理论上着色器是存在的……但除此之外它什么也不做。我正在努力改进它,但它看起来很奇怪......
【解决方案2】:

我不明白如何,但问题出在着色器本身。在我看来“似乎”他遇到了一个奇怪的错误。谁知道……将永远是个谜!

谢谢大家


[靠运气解决|帖子关闭]

【讨论】:

    【解决方案3】:

    所以我遇到了同样的问题,这是我在网上搜索时唯一出现的问题之一。我似乎已经修复了它,所以我想我应该分享一下。

    Blender 导出中似乎有一些东西在编辑器中被检测到,但没有被带到构建中。出于某种原因,如果我将未对其进行编辑的 .blend 对象添加到场景中(注意 - 您可以禁用它),这将允许在对象的所有实例上加载着色器。我只是将它附加到我的预制件上,并将其称为“纹理加载器”。为什么这样有效,我不能告诉你。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-07-26
      • 1970-01-01
      • 2012-04-26
      • 1970-01-01
      • 2020-11-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多