Unity会为不同的平台(android,ios,windows)生成不同的AssetBundle,如果我们在UnityEditor下面直接使用为android或者ios平台生成的AssetBundle通常会表现为粉色(shader渲染失败),其原因就是Android平台上编译好的shader(OpenGLES3、Vulkan),在Windows(Direct3D11,)下不支持。
解决方式1:Windows平台的Graphic APIs的第一个修改为OpenGLES3,并重启编辑器,重启后Shader丢失(变粉)的问题得到解决
二级标题Platform Android Load Android AB
(OpenGLES3) 放 第一位
Platform Window Load Window AB
(Direct3D11,) 放 第一位
# 解决方式2:AssetBundle加载完成后,替换其中的shader代码如下: