【Unity_AssetBundle】(四)什么是依赖?怎样加载依赖包?
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】(四)什么是依赖?怎样加载依赖包?相关推荐
- Spring 源码解析(四):bean的加载
//spring.xml 文件解析BeanFactory factory = new XmlBeanFactory(new ClassPathResource("spring.xml&quo ...
- java库加载,Java:使用依赖项加载共享库
这是一个老问题,但我找到了一个可接受的解决方案,也应该是可移植的,我想我应该发布一个答案.解决方案是使用 JNA的 NativeLibrary#getInstance(),因为在Linux上,这将把R ...
- Manage Jenkins管理界面提示“依赖错误: 部分插件由于缺少依赖无法加载...“问题解决办法
下面是我遇到的一个报错,缺少的是 pipeline,我们以这个为实例. 依赖错误: 部分插件由于缺少依赖无法加载.要恢复这些插件提供的功能,需要修复这些问题并重启 Jenkins. Pipeline: ...
- 解决IDEA中Maven加载依赖包慢的问题
解决IDEA中Maven加载依赖包慢的问题 参考文章: (1)解决IDEA中Maven加载依赖包慢的问题 (2)https://www.cnblogs.com/ouym/p/6106450.html ...
- maven加载依赖时总是Updating [central] https://repo.maven.apache.org/maven2
最近在使用maven添加依赖的时候,动不动idea就会从Updating [central] https://repo.maven.apache.org/maven2开始下载1.23G的文件.即使在m ...
- unity|加载AB包|有依赖关系的AB包
进阶,异步加载AB包,请看<异步加载有依赖的AB包> 目录 为什么AB包会有依赖关系呢? 步骤 代码 为什么AB包会有依赖关系呢? 例如导入一个预制体的时候,预制体可能有图片,如果只把这个 ...
- 仿百度壁纸客户端(四)——自定义上拉加载实现精选壁纸墙
仿百度壁纸客户端(四)--自定义上拉加载实现精选壁纸墙 百度壁纸系列 仿百度壁纸客户端(一)--主框架搭建,自定义Tab + ViewPager + Fragment 仿百度壁纸客户端(二)--主页自 ...
- idea2020更新了maven自动加载依赖
maven 自动加载依赖 当idea推出2020 版本以后 ,取消了maven 原本的自动加载依赖的设置,那么新版如何加载依赖呢 右上角m 小图标就是加载依赖的按钮 当 鼠标翻上去以后 会显示快捷键c ...
- maven插件加载依赖的类
文章目录 前言 思路 解析 maven生命周期 借鉴文章 前言 最近在写maven插件,遇到一个问题是classload不能加载依赖的类,比如说引入jar的类. 我之前怎么使用的呢?就用网上常见的ma ...
最新文章
- gcc编译报错:undefined reference to `std::cout‘
- MYSQL百万级数据,如何优化
- WPF系列学习之三(路由事件)
- iis7 运行 php5.5 的方法
- 哪些学校招计算机类在职研究生,2020计算机科学与技术在职研究生有哪些院校可以报考?...
- 手游方舟怎么输入代码_明日方舟再次登顶失败,为了不发十连奖励,鹰角实力控分?...
- cad方格网高程lisp编程_分享:方格网法土方工程量计算实例例题(疏浚清淤工程)...
- 【Elasticsearch】es 插件类型
- 马来西亚什么时候学计算机,关于马来西亚大学里的计算机专业,你知道多少?...
- 链表简介(三)——在单向链表中删除节点
- mdadm管理raid
- 易筋SpringBoot 2.1 | 第廿一篇:SpringBoot的Mybatis生成工具Generator
- 水电图纸——安装配电箱,插座——3.8
- Pandas 库之 DataFrame
- 苹果手机屏幕尺寸_Apple 苹果 iPhone SE2智能手机屏幕测评报告 「Soomal」
- 你都有哪些面试时被虐的经历?
- 如何使用Python轻松解决TSP问题(遗传算法)
- 揪出Android流氓软件
- 在江南这四年(成长分享)
- 对策论的蒙特卡洛求解方法
热门文章
- nvidia控制面板锐化怎么开启?
- [09]项目实战-PC 端固定布局(9)
- python 实现freeswitch 话单功能
- 《数据结构》_第一章_绪论_蜂考_复习资料_严蔚敏、李冬梅、吴伟民编著
- 文件转为base64文件
- ENVI5.3 SP1复制文件和许可后,仍显示没有许可
- 阿里达摩院:2019十大科技趋势
- SHELL编程之条件测试
- 使用 SAP WebIDE 开发 SAP Fiori Worklist 应用消费 OData 服务
- 腾讯云GPU云服务器计算型和渲染型分别适用于哪些场景?