unity打包AssetBundle包的幾種壓縮方式介紹

  Unity資源打包目的就是把一部分遊戲資源或是須要熱更的資源從遊戲安裝包中分離出來,下降安裝包的大小,在熱更或加載資源時再從服務器下載所需資源,固然已經下載的資源和不須要更新的資源不須要重複下載,Unity的打包能夠也只能在unity的編輯器下進行,好比能夠用unity提供的接口以下面代碼所示:算法

public static AssetBundleManifest BuildAssetBundles(string outputPath, BuildAssetBundleOptions assetBundleOptions, BuildTarget targetPlatform);

  這個方法有三個參數,第一個是打包的路徑,相對於遊戲項目的根目錄;第二個是打包壓縮的方式;第三個是包的目標平臺,第一個和第二個不須要多作說明,你們都能明白,主要介紹一下第二個參數幾種壓縮方式各有什麼優劣。  服務器

  BuildAssetBundleOptions.None:使用LZMA算法壓縮,壓縮的包更小,可是加載時間更長。使用以前須要總體解壓。一旦被解壓,這個包會使用LZ4從新壓縮。使用資源的時候不須要總體解壓。在下載的時候可使用LZMA算法,一旦它被下載了以後,它會使用LZ4算法保存到本地上。
  BuildAssetBundleOptions.UncompressedAssetBundle:不壓縮,包大,加載快
  BuildAssetBundleOptions.ChunkBasedCompression:使用LZ4壓縮,壓縮率沒有LZMA高,可是咱們能夠加載指定資源而不用解壓所有。編輯器

  注意使用LZ4壓縮,能夠得到能夠跟不壓縮想媲美的加載速度,並且比不壓縮文件要小。ui

相關文章
相關標籤/搜索