在pc上用了一些shader,发布到手机上没有效果了。
原因是这些shader是我在代码里赋值的方式使用的,没有在unity里有直接的引用,
UITexture tt = this.gameObject.GetComponent<UITexture>();
tt.shader = Shader.Find("Winter/Gray");
而且我没有把这些shader放到resource目录下,因此没有被打包到安装包里,在真机环境下就失效了。
要想确保能用shader,要么在项目中对这个shader已经有明确的引用,要么就得在设置里添加如下:
Edit->Project Setting -> Graphics,打开Always Included Shaders,把要在代码里用到的shader加入。