Unity 计算图片真实存储大小(Preview视图)

您所在的位置:网站首页 怎么查看图片格式大小和像素是多少 Unity 计算图片真实存储大小(Preview视图)

Unity 计算图片真实存储大小(Preview视图)

2024-07-09 23:06| 来源: 网络整理| 查看: 265

分析图片导入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

分辨率宽、高必须是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 办公设备维修网 版权所有 豫ICP备15022753号-3