Unity 计算图片真实存储大小(Preview视图) |
您所在的位置:网站首页 › 图片像素与存储大小 › Unity 计算图片真实存储大小(Preview视图) |
分析图片导入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 platform 最后需要注意几点 Android 分辨率宽、高必须是4的倍数,才能被正确压缩,才能使用对用的压缩bits计算如果宽、高有一方不是4的倍数,压缩格式就会被回退到RGBA 32bits(如果是JPG,则会回退到RGB24bits,这要看图片属性的位深度是24,还是32),计算方式一致。这一点要尤为注意,可能就是包体过大的原因如果不是4的倍数,Unity则会警告:只有宽度/高度为4倍的纹理才可以压缩为DXT1格式![]() IOS 分辨率如果不是2的幂次方也不能正常压缩 ,同时报警告 (NPOT指的就是 非2的幂) Only POT texture can be compressed to PVRTC format 只有POT纹理可以压缩到PVRTC格式 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |