1. 程式人生 > >unity使用AssetBundle使用記錄一(續)--場景打包成AssetBundle並載入

unity使用AssetBundle使用記錄一(續)--場景打包成AssetBundle並載入

//打包場景為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專案時,符號連線執行時庫。(更快的迭代時間)。
        }
    }