版本5.6.5f1,之前尝试在webgl中使用assetbundle会导致shader丢失,于是将Standard,unlit/texture和mobile/diffuse三个内置着色器放在Always Included Shaders中。生成速度变慢,生成文件很大,消耗内存变多,后来决定不使用assetbundle,然后用Resources.load加载本地模型,在editor中没有问题,生成webgl后打开模型材质会出现异常。
最后发现问题在之前添加在Always Included Shaders的三个着色器,去掉后材质恢复正常且生成的文件由37m减小到17m,内存也减小了。
不知道原理是什么。
原因在http://gad.qq.com/article/detail/37547,“Standard shader是一个有成千上万变体的shader,要谨慎的把它加入到GraphicsSetting-> always included shader,因为1中的原因,会使得你的包体非常大,打包也非常耗时。至少在我测试下是一直卡在这个界面到下班都没有响应。。”