UI 上的 Unity3D 粒子系统不会在构建中显示

Unity3D Particle system on UI wont display in build

我遵循了这个特定教程:https://www.youtube.com/watch?v=ir9Rvi1QG8Y 在 UI 面板上添加粒子系统效果。它在场景模式和游戏模式下运行良好,但在为 android 构建时没有显示粒子。我试过调整粒子着色器、material 等,但无济于事。请问有什么推荐的?谢谢

Unity版本:2018.2.11f1 Screenshot1 Screenshot2

在我自己重新创建项目后,我发现这是因为 UIParticleRenderer 中的代码草率 class。

Shader foundShader = Shader.Find("UI/Particles/Additive");

第 79 行

当您在编辑器中尝试游戏时 "Find" 方法可以正常工作,但是当您要将其发布到设备 (android) 时它不会包含 "UI/Particle/Additive" 着色器,因此找不到着色器。

如 Unity 文档中 Shader.Find class 所述,此问题有 3 个解决方案:

  1. 从场景中使用的一些材质中引用它
  2. 在 ProjectSettings/Graphics
  3. 中的 "Always Included Shaders" 列表下添加
  4. 将着色器或引用它的东西(例如 Material)放入 "Resources" 文件夹。

我使用了第二种解决方案(更容易做到)并且它解决了问题。因此您可以转到“编辑”->“项目设置”->“图形”并在 "Always Included Shaders" 部分下添加 "UI Particles Add",然后构建并 运行 您的项目。