1.普通的开发中,游戏资源是怎么加载的
放到Resources文件夹下,通过Resources.Load来进行加载.它的限制是最大2G的资源文件
2.为什么要折腾,使用Assetbundle
使用热更新的原因是因为苹果的审核机制造成的,过长时间的审核导致,游戏中出现问题的情况下,产生过大的损失。
而AsserBundle提供了资源打包和资源的下载的接口,至于版本更新方面,需要自己写版本的控制逻辑
3关于AssetBundle的基础使用
关于压缩方式的介绍
1、LZMA压缩方式
是一种默认的压缩形式,这种标准压缩格式是一个单一LZMA流序列化数据文件,并且在使用前需要解压缩整个包体。LZMA压缩是比较流行的压缩格式,能使压缩后文件达到最小,但是解压相对缓慢,导致加载时需要较长的解压时间。
2、LZ4压缩方式
Unity支持LZ4压缩,能使得压缩量更大,而且在使用资源包前不需要解压整个包体。LZ4压缩是一种“Chunk-based”算法,因此当对象从LZ4压缩包中加载时,只有这个对象的对应模块被解压即可,这速度更快,意味着不需要等待解压整个包体。LZ4压缩格式是在Unity5.3版本中开始引入的,之前的版本不可用。
3、不压缩的方式
不压缩的方式打包后包体会很大,,导致很占用空间,但是一旦下载Assetbundle,访问非常快。不推荐这种方式打包,因为现在的加载功能做的很友好了,完全可以用加载界面来进行后台加载资源,而且时间也不长。
关于严格模式的介绍
https://docs.unity3d.com/ScriptReference/BuildAssetBundleOptions.StrictMode.html
如果在生成过程中报告了任何错误,则不允许生成成功。
关于打包assetbundle的常见问题
关于Assetbundle在代码中的运用
https://docs.unity3d.com/Manual/AssetBundles-Native.html
关于AssetBundle的卸载
关于UGUI和assetbundle的使用