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
以下代碼是上一個腳本的升級版,用到是方法幾乎還是那些東西,只不過復雜一些,不過換湯不換藥
最后:經過以上兩個部分的內容,動態加載的第二部分內容就到這了,當然了,以上都是基礎,但是基礎還是很重要的,簡單的東西學好了,復雜的東西也就變的簡單了,再難不也是從簡單開始的么?加油