将 标准 着色器添加到 图形 - 始终包含着色器 ,Unity总是卡在 sharedassets0.asset 中。我知道它的统一在背景中符合着色器变体。它的大约60000种变体使.apk尺寸比正常尺寸大三倍。即使是一个空的项目,也需要花费很长时间(几个小时)才能构建。如果我从列表中删除着色器,当我从资产包中加载模型时,它将是粉红色的。只需将标准添加到列表,然后一切都好!有什么方法可以解决这个问题吗?请帮助我!我google了所有我可以谷歌!
答案 0 :(得分:1)
Unity Shader Variant Collections工作得有点奇怪。我最终使用了一个名为“ Shader Control”的插件来清理混乱。但是这个过程仍然很令人不愉快,因为当您删除关键字时,就有机会破坏某些东西。
我能想到的最佳解决方案是在项目开始时删除所有“内置着色器”(也许不是“ Deferred”,因为您正在使用Deferred Rendering)和“始终包括着色器”,如果有人需要内置着色器,请从Unity下载档案中下载“着色器中的Builit”,然后仅将所需的一个导入到项目中。这样您就可以:
但是,这种“最佳解决方案”无疑只是事后的看法,尽管它对您当前的状况没有帮助。尝试着色器控制。
答案 1 :(得分:0)
嗨,我想推荐一种对我有用的方法。我打算发表评论,但我的声誉还没有达到 50。我不会推荐这个作为答案,但我猜对你没有害处。
我没有在Graphics——Always Include Shaders下包含着色器,而是转到项目设置->播放器->优化并在预加载资产下包含着色器。
我也怀疑这是否是正确的方法,但它解决了我的问题。如果有人能指出它的错误并解释一下,我会很高兴,因为我在互联网上找不到太多关于这种方法的参考。
我在游戏开发堆栈交换中发布了一个类似的问题 https://gamedev.stackexchange.com/questions/190092/unity-2020-3-what-is-best-practice-to-include-shaders