Unity5系列資源管理AssetBundle——打包

資源管理是遊戲開發的重要環節,Unity中使用AssetBundle能夠很是方便地幫咱們打包和更新遊戲內容,在5系列中,AssetBundle更是方便好用,如今讓咱們先進行打包吧。編輯器

剛說了,5系列打包很是方便,細心的同志可能已經發現,在右下角多出了個AssetBundle標籤工具欄,這使用得咱們在選擇要打包的文件時,沒必要再像4系列中同樣要在Editor運行庫腳本中寫一堆取得對象的代碼了。
那麼,這個工具欄是怎麼幫咱們解決問題的呢?很簡單,選中咱們的須要的打包的資源(包括場景哦),而後在工具欄編輯和選擇對應的標籤。左邊的AssetBundle是咱們要打包的文件存放目錄和名字,其中,在目錄和名字之間用「/」分開,如「scenes/loaderscene.unity3d」,表示scenes目錄下loaderscene.unity3d Bundle文件。後面還有一個Variants變量標籤,其實就和後綴差很少(我的理解,有更好的使用請多多指教),但我的通常不推薦使用,而是像前面同樣,直接寫上後綴更直觀方便。以下圖:工具

bundle1

咱把須要打包的資源都設置好相應的標籤,建議至少有一個場景和一個Prefab,以便咱們後面測試。
OK,準備工做作好了,必定小代碼仍是須要的,創建一個Editor文件夾,並創建腳本BuildAssetBundleEditor,內容以下:測試

 

 1 using UnityEngine;  2 using System.Collections;  3 using UnityEditor;  4 using System.IO;  5  6   7 ///<summary>  8 /// 打包編輯器  9 /// </summary> 10 11 public class MrCBuildAssetBundleEditor : EditorWindow { 12 13  14    /// <summary> 15 /// 獲取不一樣平臺下的包裹存儲路徑 16 /// </summary> 17 18 public static string GetAssetBundlePath(BuildTarget target) 19  { 20 string opp = ""; 21 22 opp += Application.persistentDataPath; 23 opp += "AssetBundles/"; 24 25 switch (target) { 26 case BuildTarget.iOS: 27  { 28 opp += "iOS/"; 29 break; 30  } 31 case BuildTarget.StandaloneOSXUniversal: 32  { 33 opp += "MacOS/"; 34 break; 35  } 36 default: 37  { 38 opp += "Others/"; 39 break; 40  } 41  } 42 43 //當在硬盤目錄結構裏不存在該路徑時,建立文件夾 44 if (!Directory.Exists(opp)) 45  { 46  Directory.CreateDirectory (opp); 47  } 48 49 return opp; 50  } 51 52 [MenuItem("MrCAssetBundles/Build")] 53 public static void CustomBuildAssetBundle() 54  { 55 //包裹存儲的路徑... 56 string outputPath = MrCBuildAssetBundleEditor.GetAssetBundlePath(EditorUserBuildSettings.activeBuildTarget); 57 58 //輸出路徑 59  Debug.Log (outputPath); 60 61 //打包過程.. 62  BuildPipeline.BuildAssetBundles(outputPath); 63  } 64 }

OK,打包完成後,能夠到persistent目錄下查看Bundle文件,其中manifest後綴的信息文件能夠用文本工具打開查看依賴關係等ui

相關文章
相關標籤/搜索