1.新建项目
2.导入官方插件——>AssetBundleBrowser
GitHub - Unity-Technologies/AssetBundles-Browser: Editor tool for viewing and debugging asset bundle contents before and after buildsEditor tool for viewing and debugging asset bundle contents before and after builds - GitHub - Unity-Technologies/AssetBundles-Browser: Editor tool for viewing and debugging asset bundle contents before and after builds https://github.com/Unity-Technologies/AssetBundles-Browser
3.生成AB包——>设置AB包名称
![](https://img-blog.csdnimg.cn/6c1ed4475d78433b90fb4dbee48ea8af.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5biM5pyb5L2g5Lmf5pu-5oSf5Yiw6YGX5oa-Lg==,size_5,color_FFFFFF,t_70,g_se,x_16)
4. 打开AssetBundleBrowser——>打AB包
![](https://img-blog.csdnimg.cn/f24bd1acd03f4c449ea4b25e48680801.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5biM5pyb5L2g5Lmf5pu-5oSf5Yiw6YGX5oa-Lg==,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/3ac69966d53346899166d2a612d4f8ae.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5biM5pyb5L2g5Lmf5pu-5oSf5Yiw6YGX5oa-Lg==,size_20,color_FFFFFF,t_70,g_se,x_16)
参数设置完后打包
5.加载AB包
?同步加载
public class LoadAB : MonoBehaviour
{
public Image img;
// Start is called before the first frame update
void Start()
{
// 加载AB包
AssetBundle ab = AssetBundle.LoadFromFile(Application.streamingAssetsPath + "/" + "head");
// 加载AB包中的资源
Sprite temp = ab.LoadAsset<Sprite>("Test1");
// 将加载到的资源赋值给image
img.sprite= temp;
}
}
(加载成功)
异步加载
public class LoadAB : MonoBehaviour
{
public Image img;
// Start is called before the first frame update
void Start()
{
StartCoroutine(LoadAsyncAB("head", "Test2"));
}
IEnumerator LoadAsyncAB(string _abName, string _ObjectName)
{
// 加载AB包
AssetBundleCreateRequest abAsy = AssetBundle.LoadFromFileAsync(Application.streamingAssetsPath + "/" + _abName);
// 等待加载完成
yield return abAsy;
// 加载AB包中的资源
AssetBundleRequest abq = abAsy.assetBundle.LoadAssetAsync(_ObjectName, typeof(Sprite));
// 等待加载完成
yield return abq;
// 将加载到的资源赋值给image
img.sprite = abq.asset as Sprite;
}
}
(加载成功)
注意事项:AB包不能重复加载,会报错
|