Texture 纹理源格式 png,jpg,tga

  • 源图片的格式不影响它在unity内所占用的内存,实际上导入unity的时候,会根据TextureImporter设置进行重新编码。
  • 源图片的格式会影响最终导出的AssetBundle大小,但是并不是图片多大,导出的就是多大,仅仅是有利于压缩。(?),一张50kb的低质量jpg,只有在dxt1 并且use crunch compress的情况下,才能接近jpg本身的大小。

测试bmp,jpg,png,tga(compress)导入Unity时的内存,导出AssetBundle的资源大小

测试资源:1280720,只有24bit的RGB颜色。 (1byte = 8bit, size: 1280720*3byte = 2764kb)

name texture import setting 资源大小(KB) 内存dxt1(MB) AssetBundle (KB)
bmp16 none 1801 2.6 47
bmp24 none 2701 2.6 116
bmp32 none 3601 3.5 119
jpg_quality0 none 19 2.6 23
jpg_quality10 none 55 2.6 118
png none 135 2.6 118
tga16 none 155 2.6 47
tga24 none 575 2.6 118
tga32 none 726 2.6 118
bmp16 normal 1801 0.45 36
bmp24 normal 2701 0.45 45
bmp32 normal 3601 0.9 50
jpg_quality0 normal 19 0.45 12
jpg_quality10 normal 55 0.45 46
png normal 135 0.45 46
tga16 normal 155 0.45 36
tga24 normal 575 0.45 46
tga32 normal 726 0.45 46
bmp16 high 1801 0.9 56
bmp24 high 2701 0.9 121
bmp32 high 3601 0.9 109
jpg_quality0 high 19 0.9 17
jpg_quality10 high 55 0.9 121
png high 135 0.9 122
tga16 high 155 0.9 56
tga24 high 575 0.9 121
tga32 high 726 0.9 122
  • 注1:虽然源图片是不带alpha的,然而导出选项是32位的bmp格式纹理还是被编码成RGBA 32bit了。
  • 注2:pc平台下,texture import setting的low和normal都是使用dxt1压缩方式,所以就不列low选项的数据了,和normal一致。
  • 注3:jpg_quality0,jpg_quality10的数字表示导出质量选项。

你可能感兴趣的:(Texture 纹理源格式 png,jpg,tga)