AssetBundle包框架

  1. 为啥有AB包? 因为资源需要更新, 避免更新一次打包一次 动态修改.

  2. AB包注意啥? 依赖关系 找依赖关系应该找到对应的平台!!!

  3. 打包策略是分场景打包 若文件被文件夹包含打包出来的就是文件夹的名字 否则是场景文件夹名称

  4. 当我AB包从硬盘加载完成之后 是不是就该加载到内存 并实例化了? 带有缓存的ab加载机制

脚本不允许出现在打包目录的 dll

第一步
先删除之前的包
AssetBundle包框架
第二步
选择添加标签
AssetBundle包框架
第三步
将资源打包
AssetBundle包框架
如何实例化出来?(首先感谢老师的框架)
5.
5.1: 指定场景
5.2: 指定abname
5.3: 指定objinabname
5.4: xietong
5.5: 委托 void string
5.6: 在委托里面进行物体的实例化操作

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using LLWHABFW;
using UnityEngine.SceneManagement;

public class Scene3AB : MonoBehaviour {

    // Use this for initialization
    private string _aBScence = "scenes03";   //找到打包AB的场景
    private string _aBName = "scenes03/prefabs.ab";  //找到打包AB的文件名
    private string _objInAB01 = "Plane.prefab";     //AB包的内容文件
    private string _objInAB02 = "RollerBall.prefab";
    private List<GameObject> _list;   //定义列表存储GMOBJ
    void Start()
    {
        _list = new List<GameObject>();    //  赋值给常量list



        StartCoroutine(AssetBundleMgr.GetInstance().LoadAssetBundlePack(_aBScence, _aBName, XXXX));     //协同参数是(场景,AB包的文件名,协同方法)
    } 

    // Update is called once per frame
    void Update()
    {
        //按下空格清除场景跳转
        if (Input.GetKeyDown(KeyCode.Space))   
        {
            for (int i = 0; i < _list.Count; i++)//遍历列表数目
            {
                Destroy(_list[i]); //清楚列表达到清除场景的效果
            }
            _list.Clear();
            AssetBundleMgr.GetInstance().DisposeAllAssets(_aBScence);
            ABManifestLoader.GetInstance().Dispose();
            SceneManager.LoadScene("1");
        }

    }


    private void XXXX(string LLWH)
    {
        GameObject Plane, Ball;
        Plane = AssetBundleMgr.GetInstance().LoadAsset(_aBScence, _aBName, _objInAB01, false) as GameObject;
        //如果为true的话将会占用内存硬盘CPU造成发热加大电耗也就是俗称的优化差
        Ball = AssetBundleMgr.GetInstance().LoadAsset(_aBScence, _aBName, _objInAB02, false) as GameObject;
        _list.Add(Instantiate(Plane));
        _list.Add(Instantiate(Ball));


    }

}

箭头表示一一对应关系
AssetBundle包框架