Unity加載AB包

Unity製做遊戲AB包服務器

須要注意的是在遊戲場景運行的狀況下,不能編譯AB包,不運行的狀況下編譯AB包須要使用Unity的擴展菜單功能,首先須要創建菜單用來編譯AB包。網絡

一、創建AB包的名字,首先選中須要建立包的素材文件,而後在Inspector面板的最下方有一個兩條橫線,編輯器

 

把鼠標懸浮到橫線上,鼠標向上拖動最下方就會出現AssetBundle的選項,ide

 

選擇中間的選項,點擊New建立AB包的名字便可ui

 

 

創建菜單:此腳本須要繼承Editor類,而且引用Editor命名空間,凡是繼承Editor類的腳本必須放到項目Editor文件夾下。spa

一、  建立菜單使用編輯器擴展功能,只須要在靜態方法前加上[MenuItem(菜單目錄)]就能夠在菜單列表建立一個自定義名字的菜單。code

    [MenuItem("打包/AB")]
    static void ABTest()
    {
        Debug.Log("開始AB包");
        BuildPipeline.BuildAssetBundles("Assets/Prefabs",
            BuildAssetBundleOptions.None,
            BuildTarget.StandaloneWindows64);
    }
編輯菜單

 

AB包建立完成以後,只須要在建立出來的文件中找到跟你設置的AB包名字同樣的文件,上傳到Web服務器,而且可以根據連接下載就行。blog

二、接下來只須要使用Unity的WWW網絡類下載就能夠了,下載以後就能夠使用了。繼承

 1     void Start()
 2     {        StartCoroutine(GetCube());       }
 3     IEnumerator GetCube()
 4     {
 5         WWW w = new WWW("http://192.168.0.105/cube");
 6         yield return w;
 7         if (w.isDone)
 8         {
 9             AssetBundle ab = w.assetBundle;
10             GameObject ga = ab.LoadAsset<GameObject>("Assets/Prefabs/Cube.prefab");
11             ga = Instantiate(ga);
12         }
13     }
加載AB包
相關文章
相關標籤/搜索