一Shader.Find在pc上好用 在android失败 原因:
官方说明https://docs.unity3d.com/ScriptReference/Shader.Find.html
场景中加入没有材质引用这个shader的话 默认这个shader是不会打包到程序中 解决方法有两种
1.在project-graphics中 将材质添加到AlwaysIncluded Shaders中
2. 将shader放到Resources文件夹中 通过Resources.Load<Shader>("shaderName");方式加载
二 RenderTexture.Create failed: format unsupported - 11
通过adb查看android log输出法线的 原因是代码中创建的RenderTexture使用的format是RenderTextureFormat.ARGBFloat 并不是所有平台都支持该格式 使用前通过SystemInfo.SupportsRenderTextureFormat(RenderTextureFormat.ARGBFloat) 检查是否支持
三 shader defaultValue
在unity shader Inspector属性界面设置Defaultmaps 在pc端可以正常运行 在android端 没有效果值 必须通过材质设置shader的具体属性