unity使用AssetBundle使用記錄一(續)--場景打包成AssetBundle並載入
阿新 • • 發佈:2019-01-27
//打包場景為AssetBundle,使用BuildPlayer方式 static void CreateSceneAssetBundle_BuildPlayer() { string[] name = GetSelectionFile(); for (int i = 0; i < name.Length; ++i) { string name2 = Application.dataPath + "/StreamingAssets/" + name[i].Substring(0, name[i].LastIndexOf('.')); name[0] = Application.dataPath + "/Resources/" + name[0]; //通過伺服器用WWW下載方式,採用BuildOptions.BuildAdditionalStreamedScenes打包能正確下載並載入。 //使用None不能,能獲取檔案流,但是AssetBundle報null,為什麼?並且包大小差距很大,前者30多kb,後者30000多kb,萬倍了! BuildPipeline.BuildPlayer(name, name2, BuildTarget.Android, BuildOptions.None); //BuildOptions.None 執行特定的編譯沒有任何指定的設定或而外的任務。 //BuildOptions.Development 編譯一個獨立播放器開發版本。 //BuildOptions.AutoRunPlayer 執行內建播放器。 //BuildOptions.ShowBuiltPlayer 顯示內建播放器。 //BuildOptions.BuildAdditionalStreamedScenes 編譯一個unity3d資源包,其中包括額外的流場景。 //BuildOptions.AcceptExternalModifications... 不要覆蓋播放器目錄,但接受使用者的修改。 //BuildOptions.WebPlayerOfflineDeployment 同時拷貝UnityObject.js和網路播放器,所以它不會從網際網路上下載。 //BuildOptions.ConnectWithProfiler 在編輯器啟動帶有連線到分析器的播放器。 //BuildOptions.AllowDebugging 允許指令碼偵錯程式附加到遠端播放器。 //BuildOptions.SymlinkLibraries 當生成iOS XCode專案時,符號連線執行時庫。(更快的迭代時間)。 } }