当前位置:   article > 正文

AB包依赖_ab包 依赖

ab包 依赖

一个资源身上用到了别的AB包的资源 这个时候 如果只加载自己的AB包,那么通过它创建对象 会出现资源丢失的情况,这种时候 需要把依赖包 一起加载了才能正常。

创建一个材质球,把它挂载到Cube

此时在场景中显示为红色,

 在AssetBundles中Test显示在model中

 但是Test显示为None,将其更改为head

 运行(此时我们只加载model包不加载head包),发现Test没有显示

 因为材质球不在model中,找不到这个材质求。如果想要实现显示材质球,那么要么把head包也加载,要么把材质球放到model中。

 /依赖包的关键知识点——利用主包 获取依赖信息

 //加载主包
        AssetBundle abMain = AssetBundle.LoadFromFile(Application.streamingAssetsPath + "/" + "PC");
        //加载主包中的固定文件
        AssetBundleManifest abMainifest = abMain.LoadAsset<AssetBundleManifest>("AssetBundleManifest");//规则得到文件信息
        //从固定文件中得到依赖信息
        string[] strs = abMainifest.GetAllDependencies("model");
        //得到依赖包的名字
        for (int i = 0; i < strs.Length; i++)
        {
            Debug.Log(strs[i]);
            //加载依赖包
             AssetBundle.LoadFromFile(Application.streamingAssetsPath + "/" + strs[i]);
        }

 值得注意的是,我们无法知道一个包中的一个资源的依赖包,例如我们只需要调用model中的Cube,Cube只依赖head包,但是model中的其他元素依赖另一个包head2。我们只能用

string[] strs = abMainifest.GetAllDependencies("model");去得到这个包内的所有依赖包,而不能单独的去找Cube的依赖包。

PC内源码:

1、请写一个方法用于加载AB包中的依赖配置文件

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/82243
推荐阅读
相关标签
  

闽ICP备14008679号