Unity進階----AssetBundle_03(2018/11/07)

1. 爲啥有AB包? 由於資源須要更新, 避免更新一次打包一次 動態修改.緩存

2. AB包注意啥? 依賴關係 找依賴關係應該找到對應的平臺!!! 框架

3. 打包策略是分場景打包 若文件被文件夾包含打包出來的就是文件夾的名字 不然是場景文件夾名稱spa

4. 當我AB包從硬盤加載完成以後 是否是就該加載到內存 並實例化了? 帶有緩存的ab加載機制code

5.腳本不容許出如今打包目錄的 dllblog

6.知道加載的過程 說出來! 這個很重要(依賴加載必須會). 知道框架的基本做用 之後會拿出來用或修改 內存

7. Lua: Lua語言和其餘腳本語言有一致特性 Python C很大的淵源 資源

8.操做步驟:string

a. 指定場景it

b. 指定abnameio

c.指定objinabname

d. 協同

e. 委託 void string

f.在委託裏面進行物體的實例化操做

 1 using System.Collections;  2 using System.Collections.Generic;  3 using UnityEngine;  4 using UnityEngine.SceneManagement;  5 using LLWHABFW;//引用框架
 6 
 7 public class Scene03Boll : MonoBehaviour {  8 
 9     private string _abScene = "scenes03"; 10 //壓縮場景的名字---------------------------------->"a"
11     private string _abName = "scenes03/scenes03.ab"; 12 //壓縮場景中物體的名字----------------->"b"
13     private string _obj01InAB = "Plane.prefab"; 14 //在scenes03.ab中預製體Plane的名字---------->"c"
15     private string _obj02InAB = "Sphere.prefab"; 16 //在scenes03.ab中預製體Sphere的名字-------->"c"
17     private List<GameObject> _mylist; 18     void Start() 19  { 20         _mylist = new List<GameObject>(); StartCoroutine(AssetBundleMgr.GetInstance().LoadAssetBundlePack(_abScene, _abName, heheda)); 21  //解壓所需物體及其依賴-------------------------------------->"d"(參數最後一個爲"e")
22  } 23     
24     void Update () 25  { 26         if (Input.GetKeyDown(KeyCode.Space)) 27  { 28             for  (int i=0;i<_mylist.Count;i++) 29  { 30  Destroy(_mylist[i]); 31  } 32  _mylist.Clear(); 33 
34  AssetBundleMgr.GetInstance().DisposeAllAssets(_abScene); 35  ABManifestLoader.GetInstance().Dispose(); 36             
37             StartCoroutine("ssss"); 38  } 39  } 40     private void  heheda(string yu) 41 //實例化------------------------------------------------>"f"
42  { 43  GameObject plan, boll; 44         plan = AssetBundleMgr.GetInstance().LoadAsset(_abScene, _abName, _obj01InAB, false) as GameObject; 45         boll = AssetBundleMgr.GetInstance().LoadAsset(_abScene, _abName, _obj02InAB, false) as GameObject; 46  _mylist.Add( Instantiate(plan)); 47  _mylist.Add(Instantiate(boll)); 48  } 49  IEnumerator ssss() 50  { 51         yield return new WaitForSeconds(3); 52         SceneManager.LoadScene("1"); 53  } 54 }

 

 


壓縮包對應關係:

 

 

 

更改路徑位置:

相關文章
相關標籤/搜索