分析图片导入unity后,该图片所占存储大小,如有错误,请多指教。

问题:一张图片导入unity,那么这张图片打包apk,占用包体多大空间呢。

经过测试

一张16M(文件属性大小) 分辨率4096x4096的图片,最终进入包体的大小,可以是2M,3M。

一张10.5K (文件属性大小) 分辨率4096x4096的图片,最终进入包体的大小,可以是8M,10M

所以,图片本身大小(文件属性大小),是不会影响包体大小

原因是,png,jpg等图片格式,在导入的时候,Unity都会转化成自己的格式,所以这张图片的大小取决于unity的设置,主要有两个设置,Max Size和Format。

图片中有分辨率,压缩格式,和大小,这里分别解释一下。

分辨率

这个应该都知道怎么回事,水平和垂直方向各有多少个像素。这里说一点,看到上方的Max Size 这个设置,指的是这个图片最大的分辨率是多少,

  • 例如2048:2048x2048,这个值会影响图片大小,如果图片原始大小为4096x2048,那么这张图片分辨率就会被压缩到2048*1024,使用最大分辨率等比例缩放。
  • 当然如果原始图小于设置的值,例如1000x1000,那么这张图片就不会有改动

压缩格式

对这张图片使用的压缩格式,压缩格式有很多,如ETC2 、PVRTC 、DTX5等,压缩格式的理解是:每一个像素占用多少个字节,上面图片中,我选择的是ETC2 8bits,

指的就是每一个像素占用多少个字节(bytes/pixel)。

大小

最后就是计算图片存储大小,分辨率x压缩格式字节大小=存储大小。(不要勾选Mip Maps)

例如:2048x2048x8bits(压缩格式) / 8(一个字节8bits) / 1024=4096KB=4MB

例如:1024x512x4bits(压缩格式 ETC2 4bits) / 8(一个字节8bits) / 1024=256KB=0.25MB

如果不知道压缩格式是多少bits,在Unity官网压缩格式中可找到

Unity - Manual: Recommended, default, and supported texture formats, by platformhttps://docs.unity3d.com/Manual/class-TextureImporterOverride.html

最后需要注意几点

Android

  1. 分辨率宽、高必须是4的倍数,才能被正确压缩,才能使用对用的压缩bits计算
  2. 如果宽、高有一方不是4的倍数,压缩格式就会被回退到RGBA 32bits(如果是JPG,则会回退到RGB24bits,这要看图片属性的位深度是24,还是32),计算方式一致。这一点要尤为注意,可能就是包体过大的原因
  3. 如果不是4的倍数,Unity则会警告:只有宽度/高度为4倍的纹理才可以压缩为DXT1格式

IOS

分辨率如果不是2的幂次方也不能正常压缩 ,同时报警告  (NPOT指的就是 非2的幂)

Only POT texture can be compressed to PVRTC format  只有POT纹理可以压缩到PVRTC格式

Unity 计算图片真实存储大小(Preview视图)相关推荐

  1. unity录音获取真实音频大小并获取字节流保存录音文件

    unity录音长度时提前设置的并且结束录音后大文件大小也是预设大小,保存文件的话就会有许多无效字节,这里提供一种方法截取真正的AudioClip大小.需要注意的是先调用获取真实大小录音的方法再调用 M ...

  2. ios 改变图片尺寸_iOS基础(十八)——调整图片尺寸和大小

    调整图片尺寸和大小 /** * 调整图片尺寸和大小 * * @param sourceImage 原始图片 * @param maxImageSize 新图片最大尺寸 * @param maxSize ...

  3. iOS 调整图片尺寸和大小的两个方法

    在开发过程中,我们经常会遇到图片压缩功能,下面是我写的图片压缩的两个方法 首先是第一种,也是我比较推荐的 /// 调整图片尺寸和大小 /// @param sourceImage 原始图片 /// @ ...

  4. Spring Boot电商项目57:订单模块六:【前台:生成支付二维码】接口;(支付url的拼凑;利用zxing生成二维码;二维码图片的存储;真实地址与可访问地址的转换;)

    说明: (1)本篇博客主要内容是:开发[前台:生成支付二维码]接口: (2)本篇博客需要注意的点有: ● 支付url的拼凑: ● 利用zxing生成二维码: ● 二维码图片的存储:真实地址与可访问地址 ...

  5. java指定图片的dpi和存储大小kb

    java指定图片的dpi和存储大小kb google图片处理插件 java代码(只需要修改下文件路径往里面存图片就行了) 参考文章 公司需求,将文件夹下面的所有图片dpi设置为300,存储大小为90到 ...

  6. 安卓图片内存优化(一)——图片占用内存大小的计算

    安卓开发中经常会遇到因为图片处理不当导致的oom问题,因为系统分配给每个应用的最大内存空间是有限的,正常只有几十上百兆(排除通过特殊手段获取到几百兆内存空间的情况).所以为了节省更多的空间需要对图片进 ...

  7. php怎么统计图片的大小,PHP按照比例计算图片大小

    /** * 按照比例计算图片大小 */ function chang_image_size($img_w, $img_h, $max_w, $max_h) { $CI =& get_insta ...

  8. 微信小程序 动态计算图片大小

    微信小程序 动态计算图片大小 方法一 使用图片的mode属性 手动计算 给图片绑定事件bind:load,回调函数名为onImgLoad 编写回调函数,width为340是图片容器的宽度 method ...

  9. php怎么计算图片的大小,php 根据比例计算图片缩放尺寸函数的用法

    这篇文章主要为大家详细介绍了php 根据比例计算图片缩放尺寸函数的用法,具有一定的参考价值,可以用来参考一下. 面向512笔记编程,下面跟随512笔记的小编来举个例子吧. 经测试代码如下: /** * ...

最新文章

  1. NMS和soft-nms算法
  2. 去除右下角淘宝网弹窗恶意广告!
  3. shell的变量以及常见符号
  4. thinkphp 5数据库操作
  5. 学习资料(不定更新)
  6. Ubuntu常用服务器ftp、ssh
  7. PHPExcel+phalcon+yii批量导入
  8. python sys os_python常用的一些东西——sys、os等(转)
  9. 关于如何在Android、Java等非微软平台上建立高信任的SharePoint应用程序
  10. php调用一个c语言写的接口问题
  11. mysql置疑原因_SQL Server置疑数据库解决方法
  12. 一文带你彻底了解电子灌封(灌胶)工艺技术
  13. k8s服务器修改ip,k8s的kubeadm的master更换ip
  14. 最全面计算机英语核心单词分享
  15. Unite 2018 | 《崩坏3》:在Unity中实现高品质的卡通渲染(下)
  16. MOS管在开关电路中的使用
  17. 集效率之大成的EfficientNet
  18. 操作系统笔记 第二章
  19. 模块化-CMJESM
  20. 一步一步理解 python web 框架,才不会从入门到放弃 -- 简单登录页面

热门文章

  1. PMBOK学习总结之项目管理
  2. 三角肌前束(06):阿诺德推举
  3. bing必应壁纸下载器
  4. 跳槽焦虑症,想走却不敢裸辞,一怂再怂
  5. spoj7258 Lexicographical Substring Search(后缀自动机)
  6. SpringMVC之JSON工具:Jackson Gson 和fastjson通过JSON工具来解决文字乱码和时间格式问题——通过JSON工具生成JSON
  7. 研报精选230214
  8. 魔兽世界燃烧的远征最新服务器,6月2日加入“燃烧的远征” 立刻了解《魔兽世界》经典怀旧服的服务器抉择...
  9. Karaf教程第2部分使用Configuration Admin服务
  10. 第127届广交会将于六月中下旬在网上举办