Unity压包技术简介(优化)

1.查看包体是由什么构成的

模拟打包APK一次,Unity会输出打包日志,点击Console右上角,选择"Open Editor Log"

Unloading 1780 unused Assets to reduce memory usage. Loaded Objects now: 3254.

Total: 10.497625 ms (FindLiveObjects: 0.513485 ms CreateObjectMapping: 0.089958 ms MarkObjects: 8.822835 ms DeleteObjects: 1.070138 ms)

Textures 173.0 mb 1.$%

Meshes 0.0 kb -1.$%

Animations 25.7 kb 1.$%

Sounds 110.0 kb 1.$%

Shaders 12.6 kb 1.$%

Other Assets 2.7 mb 1.$%

Levels 297.7 kb 1.$%

Scripts 902.9 kb 1.$%

Included DLLs 3.9 mb 1.$%

File headers 17.4 mb 1.$%

Complete size 0.0 kb -1.$%

Used Assets and files from the Resources folder, sorted by uncompressed size:

2.6 mb 1.$% Assets/Logo Quiz/Sprites/Dialog/purchase/purchase_style2_bg.jpg

2.6 mb 1.$% Assets/Logo Quiz/Sprites/Dialog/purchase/purchase_style1_bg.jpg

2.6 mb 1.$% Assets/Logo Quiz/Sprites/Dialog/style2_off_bg.jpg

2.6 mb 1.$% Assets/Logo Quiz/Sprites/Dialog/purchase/new_purchase_bg.jpg

2.6 mb 1.$% Assets/Logo Quiz/Sprites/Dialog/style1offbg.jpg

2.6 mb 1.$% Assets/Logo Quiz/Sprites/common/game_bg.png

2.6 mb 1.$% Assets/Logo Quiz/Sprites/Main/main_bg.jpg

2.2 mb 1.$% Assets/Logo Quiz/Sprites/Wikipedia/purchase_bg.png

2.1 mb 1.$% Assets/Logo Quiz/Sprites/Dialog/get_bg.png

1.8 mb 1.$% Assets/Logo Quiz/Sprites/Dialog/float_bg.png

1.8 mb 1.$% Assets/Logo Quiz/Sprites/Dialog/purchase/fun_test_bg.png

1.8 mb 1.$% Assets/Logo Quiz/Sprites/Dialog/lucky dialog/lucky_panel.png

1.8 mb 1.$% Assets/Logo Quiz/Sprites/Dialog/lucky dialog/lucky_light.png

1.8 mb 1.$% Assets/Logo Quiz/Sprites/Dialog/lucky dialog/lucky_spin.png

1.7 mb 1.$% Assets/Logo Quiz/Sprites/common/600.png

1.6 mb 1.$% Assets/Logo Quiz/Sprites/Sale/sale_popup_bg.png

1.4 mb 1.$% Assets/Logo Quiz/Scripts/Setting/popup_setting_bg.png

1.1 mb 1.$% Assets/Logo Quiz/Sprites/Dialog/lucky dialog/lucky_botton.png


翻看日志文件,找到描述资源大小的位置,从大到小去做优化

 

2.根据Unity提供的信息,从大到小分析处理

 1.压缩大图,由于压缩格式需要设置power of 2,设置之后图片会变成Texture因此只能使用RawImage来显示该图片资源

 

这种设置方式是针对背景大图,会影响图片质量。

如图,大图内的元素,建议分开,文字用text,图片用sprite(小图可打图集)

2.九宫格图缩小

九宫格图可以用四条线把自由拉伸区域表示出来,在Image上选择Sliced模式,美术在切图时可以把重复部分尽可能缩小,纯色背景图最小是4*4,否则不支持压缩格式

 3.打图集,SpritePacker

在Packing Tag上标记图集名,Unity会根据这个tag来把sprite合并在一个图集上(power of 2),注意要选择好压缩格式。有部分sprite是不透明的,会被单独达成一个group,如果想合并在一起,需手动调节图片格式到RGBA支持Alpha通道。点击Window/Sprite Packer查看图集分配情况,打开窗口后,需要点击Pack来生成图集

Unity的Packer会把图片资源的留白自动去除

在界面比较多的项目中,需要制定的标准,如公共图集,物品图集。打图集更大的目的是减少drawcall,图集最大支持 <strong>2048*2048 </strong>4M的大小,图片也需要有命名规则,防止重复资源,没有用到或者已经过时弃用的图片一定要去除,防止打进图集,增加累赘

 

 4.Resources文件夹下的图片SpritePacker无效,故采用Power of 2压缩方式

后面这种方式需要减少使用,解决方法有很多种,最简单也比较适合我们的一个方法是,图片不存放在Resources文件夹下,Resources下存放的是引用了改图片的Prefab,在动态使用该图时,加载出Prefab后,把图片引用取出。

3.根据项目需要制作相应的工具

1.(鼠标右键)Find/Find References,资源引用查找

2.(鼠标右键)Bulid UI/把图片的属性设置成Unity能用的Sprite,自动设置格式,自动打Packing Tag

3.(鼠标右键)Bulid UI/把图片的属性设置成Unity能用的RawImage,自动设置成Power of 2格式

4.(菜单栏)GameObject Tools/Image2RawImage,自动把选中GameObject上的Image组件改成RawImage,并把图片设置成Texture格式

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值