unity 資源打包
阿新 • • 發佈:2019-01-01
這是在編輯器下實現的方法
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; using System.IO; public class CreateAB { [MenuItem("Toosl/CreatAB")] static void BuildAllAssetBundles() { string dir = "AssetBundles"; if (!Directory.Exists(dir)) //"沒有資料夾,建立一個新的 { Directory.CreateDirectory(dir); }else { Directory.Delete(dir, true); //有資料夾,刪除資料夾裡面的內容,再建立一個新的資料夾 Directory.CreateDirectory(dir); } //引數1: 檔案輸出地址 引數2:打包方式 參選3:打包平臺,輸出平臺自己選擇,安卓選安卓,蘋果選蘋果 BuildPipeline.BuildAssetBundles(dir, BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows64); } } /* * 注意 關於打包資源的指令碼,在移動平臺下Assetbundle裡面放的指令碼是不會被執行的, * 如果你打包時,在物體上掛指令碼了,載入資源時,會自動在本地找腳有,如果有就會掛上,沒則不掛 * 載入進遊戲中Prefab會自動在本地找它身上掛著的指令碼,他是根據指令碼的名來尋找,掛前的參選數照舊,如果本地有這條指令碼的話。 * * Unity3D引擎為我們提供了三種壓縮策略來處理AssetBundle的壓縮,即: * * LZMA格式 LZ4格式 不壓縮 * * * LZMA格式: 在預設情況下,打包生成的AssetBundle都會被壓縮。在U3D中,AssetBundle的標準壓縮格式便是LZMA(LZMA是一種序列化流檔案) * ,因此在預設情況下,打出的AssetBundle包處於LZMA格式的壓縮狀態,在使用AssetBundle前需要先解壓縮。 * 使用LZMA格式壓縮的AssetBundle的包體積最小(高壓縮比),但是相應的會增加解壓縮時的時間。 * * LZ4格式: 由於LZ4的壓縮比一般,因此經過壓縮後的AssetBundle包體的體積較大(該演算法基於chunk)。 * 但是,使用LZ4格式的好處在於解壓縮的時間相對要短。 * * 若要使這種格式就在 打包資源的第二個引數上面填 BuildAssetBundleOptions.ChunkBasedCompression * * 不壓縮:我們也可以不對AssetBundle進行壓縮。沒有經過壓縮的包體積最大,但是訪問速度最快。 * 若要使這種格式就在 打包資源的第二個引數上面填 BuildAssetBundleOptions.UncompressedAssetBundle * * * * *
執行此程式碼會打包帶有標籤有資源,如圖