AssetBundle学习及简单应用

AssetBundle学习及简单应用


1.制作并打包AssetBundle
①将游戏资源做成Prefab,并设置AssetBundle文件(Inspector面板最下方)
②创建Editor文件夹,里面创建打包AssetBundle专用脚本(CreateAssetBundle.cs)
③在CreateAssetBundle.cs中编写方法:


//在菜单栏中的位置地址,点击地址下的BuildAssetBundle键执行此方法
[MainItem("Asset/BuildAssetBundle")]
static void BuildAssetBundle()
{
   //打包方法
   //AssetBundles为assetbundle文件存放路径位置,若路径中没有该文件夹会报错
   BuildPipeline.BuildAssetBundles("AssetBundles");
}


④打包后的文件中assetbundle.manifest中记录了所有AssetBundle文件名称(Name)及其依赖(Dependencies),各assetbundle文件中也会记录自身文件名称及依赖


2.下载及调用AssetBundle
①创建游戏物体AssetManager,并添加LoadAssetBundle.cs脚本
②在LoadAssetBundle.cs脚本中编写方法:
 
IEnumerator LoadAssetBundle()
{
    //使用using(){}来调用www,是因为www要释放,而using可以帮助释放
    //url为资源地址,本地文件中需加file://   ,服务器文件需加http://
    using(WWW www = new WWW(url))
   {
      yield return www;
      if(www.error!=null)
        {
          Debug.log("网络错误");
        }
       else
        { 
          AssetBundle bundle = www.assetBundle;
                                //下方的assetbundle为需要加载的资源文件名
          Object obj = bundle.LoadAsset(assetbundle);
          Instantiate(obj);


          //资源bundle用后需要释放,否则会占内存
          //Unload(false)  true:释放所有资源   false:释放已用资源
          bundle.Unload(false);
        }
   }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值