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 }