新東西固然是好事,,但是沒(méi)有相關(guān)文檔的情況下還是搞得我一頭霧水,,研究了整整一天,,才搞明白這次改版的情況 新的 BuildPipeline 棄用了以前的很多函數(shù),,新創(chuàng)建了一個(gè)方法: public static AssetBundleManifestBuildAssetBundles(string outputPath, AssetBundleBuild[] builds, BuildAssetBundleOptionsassetBundleOptions = BuildAssetBundleOptions.None,BuildTargettargetPlatform = BuildTarget.WebPlayer); (官方文檔位置:http://docs./ScriptRe ... ldAssetBundles.html) 這個(gè)方法提供幾個(gè)參數(shù),,其他的參數(shù)文檔說(shuō)明很詳細(xì),這里只講解新的參數(shù): AssetBundleBuild[] builds 這個(gè)數(shù)組其實(shí)是定義了你要打包的文件的關(guān)系 : 也就是說(shuō) 將 Assets 文件夾下的哪些文件以什么樣的關(guān)系進(jìn)行打包. 下面以列子說(shuō)明:要打包的資源如下 Assets/resources/***** 輸出路徑 Assets/ABs (輸出文件夾必須已經(jīng)存在 否則將報(bào)錯(cuò),。) 那么 代碼如下: [C#] 純文本查看 復(fù)制代碼
上面代碼最主要的就是那個(gè)字符數(shù)組 標(biāo)明你要打包的文件位置和名稱(chēng) 一定要 從Assets根目錄寫(xiě)起并且文件名一定要指明類(lèi)型: “Assets/resources/1.prefab” 補(bǔ)充: 最近有人問(wèn)到資源去重的問(wèn)題,,這種操作的要求在于拋棄unity自身的關(guān)聯(lián)關(guān)系將所有資源都只當(dāng)做資源使用,然后可以構(gòu)建自身的加載工具將邏輯和資源在代碼中關(guān)聯(lián)起來(lái),,因?yàn)閡nity自身的assetbundle設(shè)置只定義名稱(chēng),,然后由系統(tǒng)構(gòu)建包之間的關(guān)系,對(duì)于我來(lái)說(shuō)失去了很多顯性的控制,。 需要自身構(gòu)建:關(guān)聯(lián)性打包工具,,加載工具,資源定位解析工具,。 |
|
來(lái)自: 雪柳花明 > 《Unity3D 進(jìn)階》