Unity 2019.2.4f1导出iOS端JPG加载显示黑色纹理问题求助
解决Unity 2019.2.4f1 iOS打包JPG纹理显示黑色问题
该问题是Unity 2019.2.x版本的已知官方Bug,根源为iOS平台默认JPG纹理压缩规则适配错误,可按以下方案逐一排查解决:
- 调整静态JPG资源的导入配置:选中项目内所有JPG格式资源,在Inspector面板的纹理导入设置中切换到iOS专属配置标签,将压缩格式从默认的
Automatic手动修改为RGB 16 bit或RGB 24 bit,不要选择PVRTC系列压缩格式,JPG无透明通道,低精度PVRTC压缩会直接导致纹理渲染为黑色。 - 修正动态加载JPG的代码逻辑:如果是加载运行时下载/读取的外部JPG文件生成Texture2D,需要确保生成纹理的格式为带RGB通道的非压缩格式,加载字节后手动调用
Apply()方法,参考代码如下:
byte[] jpgFileBytes = File.ReadAllBytes(jpgPath); Texture2D jpgTexture = new Texture2D(0, 0, TextureFormat.RGB24, false); jpgTexture.LoadImage(jpgFileBytes); jpgTexture.Apply();
- 升级Unity补丁版本:该问题已经在Unity 2019.2.21f1及更高的2019.2.x补丁版本中修复,升级对应版本后无需额外修改配置即可正常渲染JPG纹理。
- 临时兼容方案:如果暂时不想调整配置或升级Unity版本,可将项目内用到的JPG资源批量转换为PNG格式,PNG在该版本iOS打包中不存在适配问题。
问题相关截图



内容的提问来源于stack exchange,提问作者dispé nalm
相关产品推荐
相关产品推荐

