Assetbundle分包策略總結

2021-09-19 07:00:58 字數 1149 閱讀 5044

決定如何將專案內的資產分配到 assetbundle 是不容易的。光使用簡單的規則,比如將所有物件都放置到他們自己的 assetbundle 中或者將所有物件都放到乙個 assetbundle 中,但是這些方案都有明顯的缺點:

有太多的 assetbundle

關鍵之處的如何將物件分組到 assetbundle 中。主要的策略有:

注意乙個專案對於不同的內容分類可以將這些並且應該將這些策略混合地使用。比如乙個專案可能需要將 ui 元素分組到不同平台的 assetbundle 中,但是靠關卡或者場景來分組他們專案關聯的內容。關於使用的策略,有一些好的指導去遵循:

一旦遵循上面的指導,考慮將規定時間內小於 50% 能被載入的 assetbundle 拆分。也可以考慮將一些小的 assetbundle (資產數量小於 5 - 10 個) 合併。

邏輯實體分組是乙個通過專案功能來分組物件的策略。當採用這種策略時,應用不同部分會單獨分組進不同的 assetbundle 中。

例如:邏輯實體分組是最常用的 assetbundle 策略,特別適用於:

例如:儘管如此,這也是最難實現的策略,因為分配物件給 assetbundle 的開發者必須精確地熟悉單個物件是怎麼樣和如何被專案使用的。

型別分組是最簡單的策略。在這個策略中,相似或者相同型別的物件被放置到同乙個 assetbundle 中。比如,將不同的音軌放置到同乙個 assetbundle 或者不同的語言檔案放置到同乙個 assetbundle。

這個策略簡單的同時,它卻經常是在編譯時,載入時和公升級時最低效的。它最常用的物件需要同時公升級的小檔案,比如本地化檔案。

並行內容分組是將需要同時載入和使用內容分組到同乙個 assetbundle 的策略。這種策略最常用在具有較強本地屬性的內容上,也就是說內容很少或者基本不可能在應用特定的位置或者時間外出現。舉個例子,關卡遊戲中沒一關卡都獨一無二的藝術呈現,角色和聲效。

實現並行內容分組的最常用的方法是通過場景來構建 assetbundle,每個 assetbundle 包括了場景中的幾乎所有的依賴。

對沒有較強本地屬性的專案,和在應用宣告週期內很少出現的內容,應該通過邏輯實體策略來分組。這兩種都是最大化使用 assetbundle 內容的大體策略。

這個場景的乙個例子就是,乙個角色在世界中隨機生成的開發世界遊戲。這種情況中,很難**交個角色會同時出現,所以他們一般需要使用不同的策略。

Assetbundle分包策略總結

決定如何將專案內的資產分配到 assetbundle 是不容易的。光使用簡單的規則,比如將所有物件都放置到他們自己的 assetbundle 中或者將所有物件都放到乙個 assetbundle 中,但是這些方案都有明顯的缺點 關鍵之處的如何將物件分組到 assetbundle 中。主要的策略有 邏輯...

基於AssetBundle的資源分配策略

unity的assetbundle打包機制給予我們很大的靈活性,我們能自由地將asset分配到任意乙個assetbundle包。但是在進行專案資源管理時,還是有一些規則可以參考的 主要通過資源的型別來進行分組,這樣對於不同的應用平台都具有一定的適用性。比如對於audio檔案的壓縮設定,在osx和wi...

TCP分包方法 粘包處理策略

針對三種不同的粘包現象,分包演算法分別採取了相應的解決辦法。其基本思路是首先將待處理的接收資料流 長度設為m 強行轉換成預定的結構資料形式,並從中取出結構資料長度字段,而後根據n計算得到第一包資料長度。1 若nm,則表明資料流內容尚不夠構成一完整結構資料,需留待與下一包資料合併後再行處理。也就是說,...