1.什么是依赖?

概念:
在包中的一个对象资源,如果关联了另一个对象资源
会自动把另一个资源打在同一个包中

例:
现有一个Cube:
已经把他打入名为“model”的AB包中
现在为Cube创建一个材质球关联给Cube
打开AB包查看器:
可以看到,材质球并没有手动打入model的AB包中
但他自动关联进去了

2.依赖包

概念:
一个资源身上用到了别的AB包中的资源
这时,如果只加载资源自己的AB包,会出现资源丢失
此时需要把依赖包也一起加载!

那么问题来了
如果这个资源的依赖包非常多, 我不知道都用了哪个包里的资源呢?
这时就要利用"主包"来获取依赖信息


现在把材质球打进一个新包"material"中去
而"model"包中的Cube需要用到此材质球
也就是说 material包是model包的依赖包

public class ABTest : MonoBehaviour
{void Start(){//第一步:加载model包AssetBundle ab = AssetBundle.LoadFromFile(Application.streamingAssetsPath +  "/" + "model");//第二步:加载依赖包信息//  1.加载主包AssetBundle abMain =  AssetBundle.LoadFromFile(Application.streamingAssetsPath + "/" + "PC");//  2.加载主包中的固定文件//      (固定写法,死死记住即可)AssetBundleManifest abMainfest =  abMain.LoadAsset<AssetBundleManifest>("AssetBundleManifest");//  3.从固定文件中得到依赖信息//      (想得到哪个包的依赖信息 就把哪个包的包名传入)string[] strs = abMainfest.GetAllDependencies("model");//第三步:加载依赖包for (int i = 0; i < strs.Length; i++){print("model的依赖包有:" + strs[i]);AssetBundle.LoadFromFile(Application.streamingAssetsPath + "/" +  strs[i]);}//实例化Cube,看是否有材质Instantiate(ab.LoadAsset<GameObject>("Cube"));}
}

运行:材质正常加载了

补充
这个方法有小缺点
只能找到这个"包"依赖了哪些包,包中的所有资源都会参与寻找
而不是找到某个特定"资源"依赖了哪些包

用文本编辑器打开主包配置文件,可以看到此特性

【Unity_AssetBundle】(四)什么是依赖?怎样加载依赖包?相关推荐

  1. Spring 源码解析(四):bean的加载

    //spring.xml 文件解析BeanFactory factory = new XmlBeanFactory(new ClassPathResource("spring.xml&quo ...

  2. java库加载,Java:使用依赖项加载共享库

    这是一个老问题,但我找到了一个可接受的解决方案,也应该是可移植的,我想我应该发布一个答案.解决方案是使用 JNA的 NativeLibrary#getInstance(),因为在Linux上,这将把R ...

  3. Manage Jenkins管理界面提示“依赖错误: 部分插件由于缺少依赖无法加载...“问题解决办法

    下面是我遇到的一个报错,缺少的是 pipeline,我们以这个为实例. 依赖错误: 部分插件由于缺少依赖无法加载.要恢复这些插件提供的功能,需要修复这些问题并重启 Jenkins. Pipeline: ...

  4. 解决IDEA中Maven加载依赖包慢的问题

    解决IDEA中Maven加载依赖包慢的问题 参考文章: (1)解决IDEA中Maven加载依赖包慢的问题 (2)https://www.cnblogs.com/ouym/p/6106450.html ...

  5. maven加载依赖时总是Updating [central] https://repo.maven.apache.org/maven2

    最近在使用maven添加依赖的时候,动不动idea就会从Updating [central] https://repo.maven.apache.org/maven2开始下载1.23G的文件.即使在m ...

  6. unity|加载AB包|有依赖关系的AB包

    进阶,异步加载AB包,请看<异步加载有依赖的AB包> 目录 为什么AB包会有依赖关系呢? 步骤 代码 为什么AB包会有依赖关系呢? 例如导入一个预制体的时候,预制体可能有图片,如果只把这个 ...

  7. 仿百度壁纸客户端(四)——自定义上拉加载实现精选壁纸墙

    仿百度壁纸客户端(四)--自定义上拉加载实现精选壁纸墙 百度壁纸系列 仿百度壁纸客户端(一)--主框架搭建,自定义Tab + ViewPager + Fragment 仿百度壁纸客户端(二)--主页自 ...

  8. idea2020更新了maven自动加载依赖

    maven 自动加载依赖 当idea推出2020 版本以后 ,取消了maven 原本的自动加载依赖的设置,那么新版如何加载依赖呢 右上角m 小图标就是加载依赖的按钮 当 鼠标翻上去以后 会显示快捷键c ...

  9. maven插件加载依赖的类

    文章目录 前言 思路 解析 maven生命周期 借鉴文章 前言 最近在写maven插件,遇到一个问题是classload不能加载依赖的类,比如说引入jar的类. 我之前怎么使用的呢?就用网上常见的ma ...

最新文章

  1. gcc编译报错:undefined reference to `std::cout‘
  2. MYSQL百万级数据,如何优化
  3. WPF系列学习之三(路由事件)
  4. iis7 运行 php5.5 的方法
  5. 哪些学校招计算机类在职研究生,2020计算机科学与技术在职研究生有哪些院校可以报考?...
  6. 手游方舟怎么输入代码_明日方舟再次登顶失败,为了不发十连奖励,鹰角实力控分?...
  7. cad方格网高程lisp编程_分享:方格网法土方工程量计算实例例题(疏浚清淤工程)...
  8. 【Elasticsearch】es 插件类型
  9. 马来西亚什么时候学计算机,关于马来西亚大学里的计算机专业,你知道多少?...
  10. 链表简介(三)——在单向链表中删除节点
  11. mdadm管理raid
  12. 易筋SpringBoot 2.1 | 第廿一篇:SpringBoot的Mybatis生成工具Generator
  13. 水电图纸——安装配电箱,插座——3.8
  14. Pandas 库之 DataFrame
  15. 苹果手机屏幕尺寸_Apple 苹果 iPhone SE2智能手机屏幕测评报告 「Soomal」
  16. 你都有哪些面试时被虐的经历?
  17. 如何使用Python轻松解决TSP问题(遗传算法)
  18. 揪出Android流氓软件
  19. 在江南这四年(成长分享)
  20. 对策论的蒙特卡洛求解方法

热门文章

  1. nvidia控制面板锐化怎么开启?
  2. [09]项目实战-PC 端固定布局(9)
  3. python 实现freeswitch 话单功能
  4. 《数据结构》_第一章_绪论_蜂考_复习资料_严蔚敏、李冬梅、吴伟民编著
  5. 文件转为base64文件
  6. ENVI5.3 SP1复制文件和许可后,仍显示没有许可
  7. 阿里达摩院:2019十大科技趋势
  8. SHELL编程之条件测试
  9. 使用 SAP WebIDE 开发 SAP Fiori Worklist 应用消费 OData 服务
  10. 腾讯云GPU云服务器计算型和渲染型分别适用于哪些场景?