【Unity】图片压缩的解决方案

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【Unity】图片压缩的解决方案相关的知识,希望对你有一定的参考价值。

参考技术A 公司做的项目需要拍照生成精灵,流程是客户端先拍照,压缩后上传给服务器,然后由服务器的图像识别算法进行生成裁剪后的精灵与精灵身上的器官坐标点。

问题来了,客户端拍出来的照片太大,普遍是2M-5M,所以客户端拍出来的照片需要经过压缩才能上传给服务器。

在网上寻找图像压缩的解决方案,最终暂定有三种方案:

第一种方案
由于PC端运行时用的是DGI图像接口,不能调用System.Drawing库,所以暂时否定第一种方案

第二种方案
理论
第三种方案由于需要付费,并且服务器稳定性不可控,暂定为优先级最低的方案,目前正在研究第二种方案

unity----图片压缩小结

         格式                                                   内存占用                                                 质量

  • Automatic truecolor                              1                                                         高清
  • RGBA32                                               1                                                         高清               
  • RGBA16+Dithering                             1/2                                                       中度               ---有一些UI边框透明渐变比较宽,使用RGBA16会有比较明显的失真感,使用Dithering  可以平缓过度
  • RGBA16                                              1/2                                                       中度
  • 关于Android,使用ETC最为保险,不会有这不支持,那不支持的情况
  • RGBA Compressed ETC2 8 bit           1/4                                                       较低             ----ETC格式适用于背景图片,要求图片使用二次方大小。若是UI图片请使用以上格式
  • RGB Compressed ETC 4 bit               1/8                                                        较低             
  • 关于IOS,最优选
  • RGBA Compressed  PVRTC 4 bit       1/4                                                        较低   
  • RGB Compressed PVRTC 4 bit          1/8                                                        较低            

 

 

      关于图片的二次方选择,有None,ToNearest,ToLarger,  ToSmaller,

      如果选择ToNearest并不一定会使图片内存大小缩小,有时图片大小更靠近大一级的次方,图片大小反而增长不少,显示出来时因为拉伸,存在一定的模糊情况

      因此需要UI图不要选择二次方。

      比如Spine动画的图,选择二次方后,选择TrueColor都会有模糊,选择None,RGBA16就够了。

     

以上是关于【Unity】图片压缩的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

Unity3D中UI图片模糊,不清晰解决如何解决

unity2d导出后图片大小改变

(转)Unity 图片压缩技巧

unity读取图片耗费性能吗

unity图片压缩格式和内存计算

纹理压缩简介 DXT PVR ETC