1. .4 A工程的预制体拖到同版本的B工程要【手动】设置一下 B工程里面对应的材质球
不然B工程 AB资源打包--->加载的时候会出现材质球的Shader丢失
如果不这样做,你可能要用下面的代码重设一下自身材质球对应的Shader
//修正shader不正确的问题public void ShaderRecover(GameObject obj){Renderer[] meshSkinRenderer = obj.GetComponentsInChildren<Renderer>();for (int i = 0; i < meshSkinRenderer.Length; i++){meshSkinRenderer[i].material.shader = Shader.Find(meshSkinRenderer[i].material.shader.name);}}
附加:让Unity导出APK或工程的时候强制绑定指定的Shader而不剔除,与添加强制预加载的Shader
如果觉得《Unity骚操作:解决SpriteRenderer材质球的Shader丢失 问题》对你有帮助,请点赞、收藏,并留下你的观点哦!