某日在给Project Arcaba打包完毕Addressables系统的资源包准备在分发前测试下游玩场景的效果,结果开幕雷击:
粉色代表材质丢失,难道Shader坏了?
然后尝试在运行模式下手动给材质赋同样的Shader,结果又恢复正常了;但下次打开还是会出这个问题。
Bing了下,发现可能是Shader不兼容的问题,因为是面向Android的Shader的Addressables资源包而不是面向PC端的。
一开始把PC的主要图形后端从默认的DirectX 11
换成了Vulkan
,结果还是报错。
期间还是过在代码里给每个material手动以Shader.Find
方式指定shader,但这太麻烦了……
灵机一动:
我这不就是面向安卓平台的吗?而且就是测试用,那不如直接改成安卓平台原生的OpenGL ES
于是,这样修改了:
将OpenGL ES 3
选成第一个后,重启编辑器,果然好了: