Unity减包一个方法

之前然哥做了个游戏,一开始apk包体大约是120多M。如果发到某平台上就需要分包了。

今天他跟我说他解决了这件事,我问他是不是做了给图片减色之类降低品质的事情?他告诉我不是的,他所作的其实就只是把文件的扩展名从.jpg改成了.byte而已,包体一下子从120多M降到了50M。

当然这样改完之后,代码里的使用方式也得相应更改,变成这个样子:

var ta = Resources.Load<TextAsset>(….):

return new Texture2D().LoadImage(ta.bytes);

当然虽然最终包体大小减了,但这样做还是有挺多限制的,比如prefab里直接引用图片就不行了,Unity的atlas功能也没法使用了,uGUI的使用也受到很多限制,很多原本Unity的功能,不得不自己来写一套东西来实现。不过应该挺适合某些图片量大的avg游戏来使用的吧。

具体原理嘛,unity看到.jpg.png这种文件,打包的时候就按压缩设置的option给你打包了,如果是byte,就会压缩的更小一些了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容