前面两个篇章已经介绍了如何生成AB 资源文件。这里主要是使用一个简单的工具类来加载 AB 资源文件。

首先就是任意打一个 AB 包。创建一个 Test 脚本出来。将已经打包好的 AB 文件记录下路径。然后写代码:

1、同步加载 AB 包

同步加载其中一个资源

T objectFromBundle=assetBundle.LoadAsset(string assetName)

同步加载所有资源

T[] objectsFromBundle=assetBundle.LoadAllAssets()

AssetBundle加载、卸载AB 资源文件(三)_异步加载

完美运行:

AssetBundle加载、卸载AB 资源文件(三)_资源文件_02


注意: AB 包是不能够重复进行加载的,同名的AB包是无法加载两次的。否则会报错。
这里可以拿出一个案例。

AssetBundle加载、卸载AB 资源文件(三)_异步加载_03


AssetBundle加载、卸载AB 资源文件(三)_异步加载_04


2、异步加载AB包

想到异步的第一件事情就是使用协程进行加载了。

AssetBundleRequest request = assetBundle.LoadAssetAsync(string assetName)

AssetBundleRequest request = assetBundle.LoadAllAssetsAsync()

AssetBundle加载、卸载AB 资源文件(三)_加载_05


3、卸载AB 包

一般来说这个参数都会填 false

AssetBundle加载、卸载AB 资源文件(三)_资源文件_06


AssetBundle加载、卸载AB 资源文件(三)_资源文件_07

如果为 true 的时候在 项目中的表现效果为:

AssetBundle加载、卸载AB 资源文件(三)_加载_08


如果为 false 的时候在项目中的表现效果为:

AssetBundle加载、卸载AB 资源文件(三)_加载_09