在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加入。