获取依赖和加载依赖
IEnumerator Start () {
	UnityWebRequest request = UnityWebRequest.GetAssetBundle (baseUrl + "AssetBundle",0);
	yield return request.SendWebRequest ();
	AssetBundle ab = DownloadHandlerAssetBundle.GetContent (request);
	AssetBundleManifest abm = ab.LoadAsset<AssetBundleManifest> ("AssetBundleManifest");

	foreach (var a in abm.GetAllDependencies("cub")) {
		using (UnityWebRequest r = UnityWebRequest.GetAssetBundle (baseUrl + a, 0)) {
			yield return r.SendWebRequest ();
			DownloadHandlerAssetBundle.GetContent (r);//加载到依赖包到内存中
		}
	}
        
    //依赖包加载完成加载完成后,实例化Cube才不会丢失材质和贴图
	using (UnityWebRequest r = UnityWebRequest.GetAssetBundle (baseUrl + "cub")) {
		yield return r.SendWebRequest ();
		AssetBundle assb = DownloadHandlerAssetBundle.GetContent (r);
		GameObject go = assb.LoadAsset<GameObject> ("Cube");
		Instantiate (go);
	}
}


还记得那个怎么都有的AssetBundle文件吗,没错,这里记载了所有你打包出来的AssetBundle的依赖

加载名字叫做那个就是那个AssetBundle的文件,获取Manifest,通过GetAllDependencies()获取cub的依赖(字符串,包名),因为等下我要加载cub里面的Cube


首页 我的博客
粤ICP备17103704号