AssetBundle打包

一:打AB包
1.首先给要打包的资源设置AssetBundle名字。
在这里插入图片描述

注意:把共享的资源打到同一个包里

2.编辑器写代码进行打包。

//参数1:路径  参数2:创建资源包时的选项  参数3:打包的平台
BuildPipeline.BuildAssetBundles("路径", BuildAssetBundleOptions.None, BuildTarget.Android);

在这里插入图片描述

可以借助插件(Asset Bundle Browser)进行打包

二:AB包的读取
1.加载单个资源(本地加载)

//本地加载
AssetBundle ab=AssetBundle.LoadFromFile("路径");
//GameObject是要加载的类型,可以使Object,Texture,Material等
//cube 是要加载的资源的名字
GameObject go=ab.LoadAsset<GameObject>("cube");

2.加载所有的资源

 //本地加载
 AssetBundle ab=AssetBundle.LoadFromFile("路径");        
 object[] ob=ab.LoadAllAssets();

3.内存异步加载

 IEnumerator LoadAB()
    {
        AssetBundleCreateRequest request=AssetBundle.LoadFromMemoryAsync(File.ReadAllBytes(""));
        yield return request;
        AssetBundle ab=request.assetBundle;
        GameObject go = ab.LoadAsset<GameObject>("资源名字");
    }

4.内存同步加载

void LoadAB()
    {
        AssetBundle ab=AssetBundle.LoadFromMemory(File.ReadAllBytes(""));
        GameObject go = ab.LoadAsset<GameObject>("资源名字");
    }

5.从服务器加载

 IEnumerator LoadAB1()
    {   
        UnityWebRequest wr = UnityWebRequestAssetBundle.GetAssetBundle("服务器的路径");
        yield return wr.SendWebRequest();
        AssetBundle ab = DownloadHandlerAssetBundle.GetContent(wr);
        GameObject go = ab.LoadAsset<GameObject>("资源的名字");
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值