XGundam05 发表于 2022-9-26 15:39

Unity面试题学习笔记(5)——AB包依赖

1.依赖的概念:


[*]A包的资源调用了B包中的资源,则A包和B包产生了依赖。
[*]一个包可能依赖N个包。
2.如何加载依赖包:

//依赖包的关键知识点——利用主包 获取依赖信息
      //第一步,加载主包
      AssetBundle abMain = AssetBundle.LoadFromFile(Application.streamingAssetsPath + "/" + "PC");
      //加载主包中的固定文件
      AssetBundleManifest abMainfest = abMain.LoadAsset<AssetBundleManifest>("AssetBundleManifest");
      //从固定文件中 得到依赖信息
      string[] strs = abMainfest.GetAllDependencies("model");
      //得到了 依赖包的名字
      for(int i = 0;i < strs.Length; i++)
      {
            AssetBundle.LoadFromFile(Application.streamingAssetsPath + "/" + strs);
      }

[*]加载主包,主包名和Output path中预设的名字相同。
[*]通过主包加载Manifest文件,固定类型(AssetBundleManifest)和固定语法要注意。
[*]通过Manifest文件获取某个包的依赖包信息,固定语法注意,获取的依赖信息都是string类型。
[*]通过获取的依赖包名字加载依赖包,注意要加载全部的依赖包。
3.缺点:

只能以包为单位进行加载依赖,不能针对某一个具体的资源来加载相应的依赖。(A包中的1物体依赖B包,A包中的2物体依赖C包,就算我们只使用1物体,也仍然要把C包加载)。
页: [1]
查看完整版本: Unity面试题学习笔记(5)——AB包依赖