1.加载AB资源
(1)将所有的预设体和材质球和图片的AssetBundle设为None,然后吧Cube1的AssetBundle设为cube1
(2)创建脚本LoadTest
<1>引用UnityEngine;
类:MonoBehaviour、Application、AssetBundle、GameObject、AssetBundleCreateRequest、AssetBundleRequest、WWW、AssetBundleManifest、Hash128
1)MonoBehaviour
1.1)开始一段协程:StartCoroutine(方法名字,方法参数值)
1.2)打印对象:print(对象)
1.3)克隆:Instantiate<T>(对象)
2)Application
2.1)Unity工程目录下的Assets文件夹路径:类名.dataPath
3)AssetBundle
3.1)加载得到AB:类名.LoadFromFile(路径)
3.2)加载AB中指定的资源对象:对象.LoadAsset<类型>(资源对象名字);
3.3)加载AB中的所有资源对象:对象.LoadAllAssets<类型>();
3.4)卸载AB:对象.Unload(false);
3.5)直接异步加载资源的绝对路径:类名.LoadFromFileAsync(路径);
3.6)异步加载所有对象:对象.LoadAllAssetAsync<类型>();
4)GameObject
5)AssetBundleCreateRequest
5.1)转换成AB类型:对象.assetBundle
6)AssetBundleRequest
6.1)得到资源对象:对象.asset
7)WWW
7.1)加载路径资源:类名(路径);
本地路径:在路径前加"file://"
网络路径:网络地址
7.2)得到对象的AB:对象.assetBundle
7.3)销毁对象:对象.Dispose();
7.4)从缓存中加载或者下载:类名.LoadFromCachOrDownload(路径,版本号);
会根据资源的版本号或者HashID判断是否存在此资源,如果存在则从缓存中加载,如果不存在则下载
8)AssetBundleManifest
8.1)加载单个资源:类名 对象=AB对象.LoadAsset<类名>("AssetBundleManifest");
后面的“AssetBundleManifest”是固定写法
8.2)加载全部资源:AB对象.LoadAllAssets<类名>();
8.3)AssetBundleManifest[]
8.3.1)数组长度:对象.Length
8.3.2)得到该对象的该索引元素中的所有AB名字:对象[索引].GetAllAssetBundle();
8.3.3)得到该对象的该索引元素中的所有HashID:对象[索引].GetAssetBundle Hash(AB的名字);
9)Hash128
(3)注意事项
<1>代码中的路径对应打包AB的存放路径
<2>代码中的AB资源绝对路径对应AB资源的绝对路径,同时“/cube1”也代表的是打包时AssetBundle名字中的路径
<3>代码中记载的对象资源名对应编辑器中的预设体名字
(4)创建脚本LoadTT
以下代码是上一个脚本的升级版,用到是方法几乎还是那些东西,只不过复杂一些,不过换汤不换药
最后:经过以上两个部分的内容,动态加载的第二部分内容就到这了,当然了,以上都是基础,但是基础还是很重要的,简单的东西学好了,复杂的东西也就变的简单了,再难不也是从简单开始的么?加油