unity之——AssetBundle在安卓平台的打包与加载解析(超大一个坑!今天给填了)

Unity安卓AssetBundle打包加载详解
本文详细介绍了在Unity中如何解决安卓平台AssetBundle加载失败的问题。关键在于正确设置加载路径,即使用`Application.dataPath+"!assets/资源包名"`而非`Application.streamingAssetsPath`。作者还分享了AssetBundle的打包、LZ4压缩以及动态加载资源的注意事项。

最近一直在头疼一个问题,自己写的小Demo,利用AssetBundle动态加载的方式在安卓平台显示一个图片的预设。一直不成功的原因是:因为加载路径的问题,在安卓平台下加载不出来assetBundle对象。我是用的AssetBundle.LoadFromFile()的方法加载的,这个路径是AssetBundle.LoadFromFile(Application.dataPath+"!assets/texture");  !!!!!!!!其中texture是我给打包资源取的名字。

下面我来详细说一下AssetBundle在安卓平台的打包与加载解析。

1.首先,我要显示一个图片的预设体,然后在代码中加载这个预设并显示。这里有两种动态加载的方案:Resource.Load()的方式和AssetBundle.LoadFromFile()的方式,来自文件就用这个,也可以来自Memory,用CreateFromMemory(byte[]),这个byte[]可以来自文件读取的缓冲,也可以用www的下载或者其他可能的方式。
其实WWW的assetBundle就是内部数据读取完后自动创建了一个assetBundle而已。

2.给要打包的资源取个名字,因为只有一个图片的预设,我在这里起的是texture。这里上个图:

如上图右下角,AssetBundle的名字是texture(对了,我的图片预设名字是Texture,在这里顺便提一下)。

然后就可以进行资源打包了,打包的话,要注意:我把资源打包在了StreamingAssets目录下,这是一个Assets下的特殊目录,StreamingAssets也就是流式资源载入目录,该目录被拷贝到build文件夹中,不会修改,一般用于放置音频文件。

打包的代码如下:

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值