AssetBundle(四)——通过Manifest文件得到依赖
一:加载Manifest介绍
加载的Manifest文件是主的Manifest文件而不是每个AB包的Manifest文件,因为从主Manifest可以访问到所有资源的依赖资源
using UnityEngine;public class LoadFromWeb : MonoBehaviour
{private void Start(){string path = "Assets\AssetBundles\AssetBundles";AssetBundle assetBundle = AssetBundle.LoadFromFile(path);AssetBundleManifest manifest = assetBundle.LoadAsset<AssetBundleManifest>("AssetBundleManifest");}
}
加载得到Manifest文件后就可以读取到Manifest文件中的依赖,名字等参数
例如加载一个有依赖的预制体
加载后发现预制体材质丢失,因为没有加载出依赖资源
之后通过加载Manifest文件读取到model.v1的所有依赖的名称
再通过遍历字符串数组去加载出依赖即可
二:通过加载Manifest文件加载出所有的资源以及资源的依赖
步骤:
——加载得到Manifest文件,从Manifest文件中得到所有的AB包的路径(包括依赖项)
——利用这些名称获取每个包的AssetBudle对象,从这些AssetBudle对象中加载出各自的所有资源,如果资源是应该实例化出来的物体则实例化,否则只加载即可
using UnityEngine;public class Test : MonoBehaviour
{private void Awake(){string manifestAB_path = "Assets/AssetBundles/";AssetBundle manifestAB = AssetBundle.LoadFromFile(manifestAB_path + "AssetBundles");AssetBundleManifest manifest = manifestAB.LoadAsset<AssetBundleManifest>("AssetBundleManifest");foreach (string path in manifest.GetAllAssetBundles()){string fullPath = manifestAB_path + path;AssetBundle ab = AssetBundle.LoadFromFile(fullPath);Object[] o = ab.LoadAllAssets();foreach (Object temp in o){if (temp is GameObject){Instantiate(temp);}}}}
}
using UnityEngine;
using UnityEngine.Networking;
using System.Collections;
using System.Collections.Generic;public class Load : MonoBehaviour
{private IEnumerator Start(){UnityWebRequest request = UnityWebRequest.GetAssetBundle(@"http://localhost:51008/AssetBundle/AssetBundle");yield return request.SendWebRequest();AssetBundleManifest manifest = DownloadHandlerAssetBundle.GetContent(request).LoadAsset<AssetBundleManifest>("AssetBundleManifest");string[] str = manifest.GetAllAssetBundles();List<GameObject> goList = new List<GameObject>();foreach (string s in str){UnityWebRequest r = UnityWebRequest.GetAssetBundle(@"http://localhost:51008/AssetBundle/" + s);yield return r.SendWebRequest();Object[] o = DownloadHandlerAssetBundle.GetContent(r).LoadAllAssets();foreach (Object temp in o){if (temp is GameObject){goList.Add(temp as GameObject);}}}foreach (GameObject go in goList){Instantiate(go);}}
}
AssetBundle(四)——通过Manifest文件得到依赖相关推荐
- Unity AssetBundle 依赖打包以及Manifest文件的使用(六)
下面两个物体对象依赖同一个材质球和贴图,为了减少AssetBundle包的大小我们可以把依赖的资源另外打包成一个共享的包. 依赖的资源AssetBundle包名设置为share 为打包的预制体命名: ...
- 智能一代云平台(四十):Maven项目如何将lib下依赖的包打印在manifest文件中
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan [前言] 今天突然发现在Pom文件中进行相关的设置,可以将自己所依赖的jar包在Manifest ...
- 加载AB包(AssetBundle),通过Manifest文件,加载依赖
加载AB包依赖,需要读取主包信息 除了我们设置的ab包之外,会自动根据文件夹名字生成一个包 自动生成的包有什么用呢,我们先简单说一下里面有什么东西吧 AssetsBundle也是一个二进制文件,Ass ...
- 【AssetBundle】七:打包生成的manifest文件
我们在之前知道了AssetBundle打包的时候除了生成AssetBundle包之外,还会生成.manifest文件,我们把它称作配置文件.从事Android开发的同学们一定不会对.AndroidMa ...
- Android manifest文件中的标签详细介绍
Android manifest文件中的标签详细介绍 概要 每一个Android应用都应该包含一个manifest文件,即AndroidManifest.xml.它包含了程序运行的一些必备信息,比如: ...
- java jar manifest文件,java打包jar,以及manifest文件使用说明
java打包jar,以及manifest文件使用说明 http://20921556.javaeye.com/blog/263974 关键字: java jar Java的一种文档格式,JAR文件非常 ...
- Rocksdb 写流程,读流程,WAL文件,MANIFEST文件,ColumnFamily,Memtable,SST文件原理详解
文章目录 前言 Rocksdb写流程图 WAL 原理分析 概述 文件格式 查看WAL的工具 创建WAL 清理WAL MANIFEST原理分析 概述 查看MANIFEST的工具 创建 及 清除 MANI ...
- manifestdependency,manifest文件
利用manifest文件对程序目录下的dll进行分类 1 背景 对于大部分的券商和机构投资者,只能通过有交易所交易系统接入资质的券商提供的柜台系统来进行现货交易.相对于期货市场,现货市场的柜台系统千差 ...
- linux解决make依赖关系,makefile 自动处理头文件的依赖关系
现在我们的Makefile写成这样: all: main main: main.o stack.o maze.o gcc $^ -o $@ main.o: main.h stack.h maze.h ...
最新文章
- haproxy负载均衡_基于mycat+haproxy+keepalived搭建mysql数据库高可用负载均衡
- 腾讯offer-众里寻他千百度
- LeetCode 563二叉树的坡度-简单
- python的普通方法、类方法和静态方法
- oracle中master实例,Oracle10g/11g RAC数据库中的Master实例、Owner实例和Past Image的概念PART2...
- Visual Studio 2008创建项目(ATL)
- android 代码操作.db demo,Android实现商品展示效果
- 计算机导论课程设计总结,大学计算机导论实践课程设计报告.doc
- Voltage Trackers for Sensors power supply
- c语言中提取单词首字母,C语言实现单词小帮手
- win10装机之天涯若比邻长时间卡死
- 2012年8月22日
- STC8H8K64U——定时器T0(LED灯闪烁)
- C#用easy-mvc开发的后台管理系统
- 机器学习实战——特征工程之关联规则
- 【实战】SQL SERVER ODBC堆栈溢出攻击的实现。
- Imply之快速开始
- java判断是不是质数(素数)超短方法
- 锐捷RSE-CLOUD云开课了
- 电源适配器FCC认证
热门文章
- ORACLE SQL 遍历字符串
- 加拿大计算机转学案例,在加拿大转学步骤详解
- 学习Python编程开发,能从事的工作岗位有哪些?
- Facebook不再吸引人
- android studio 连接 华为手机真机
- 学python心得体会800字-终于领会学习python的心得体会
- 中国泰山-Http://54TaiShan.Cn
- UVA 12897 Decoding Baby Boos 暴力
- window7 破解vs2008的补丁
- Window10 双击bat文件,提示“windows找不到文件xxx.bat”