问题详细描述 :
通过AssetBundle或者Addressable打包了安卓或者IOS远程资源,然后在设备上下载运行一切正常,但是在电脑Editor环境下运行却显示为紫色,查看MeshRenderer发现材质并未丢失,而且手动重置一下是能正常显示
注意 : 如果不符合上诉描述,比如在设备上就显示为紫色,或者Editor环境下材质是Missing丢失的状态,请自己检查打包依赖关系,找到丢失材质的原因,这并不是本解决方案要解决的问题
导致问题的原因 :
和图形API的版本有关......假设,你的Android设置, Project Settings ==> Other Settings 下 Graphics APIs 选择的是 OpenGLES 2.0 (记得重新打包资源) , 那么你打包出来的Android资源就是支持OpenGLES 2.0图形库版本(下有图)
然后注意先检查你的UnityEditor当前工作环境的Graphics API,查看标题栏位置即可(下有图)
如果他们不一致,或者说不兼容,就会导致上述的问题,此时只需要PC Editor环境下Project Settings ==> Other Settings 下 Graphics APIs设置为兼容你打出的资源包图形API即可(下有图)...注意选择PC模块,然后勾选掉Auto Graphics API for Windows进行后即可手动设置,如果是IOS同理