AssetBundles

寫在最前

有不少想學assetbundle的同窗不知如何下手,英文資料看起來有高度,我把他翻譯了,後者自取
翻譯原址:unity官網assetbundle https://docs.unity3d.com/2017...html

資源包

一個assetbundle其實就是一個存檔文件(我更以爲它像壓縮文件)它包含了不少具體平臺的資源(模型,貼圖,預製,聲音,甚至整個場景)用於在運行時被加載。assetbundles能夠明確互相依賴的關係,例如一個assetbundle A中的材質能夠引用assetbundle B中的貼圖。爲了有效率的在網絡中進行傳輸,assetbundles能夠被壓縮成unity中內置的算法,固然取決於他的用途來要求(壓縮格式有LZMA 和 LZ4).算法

assetbundles 也能夠被當作可下載的內容,這樣能夠減小安裝包自己的大小,能夠將這部分資源放到服務器去,根據用戶的平臺去下載相應的資源(由於不一樣的平臺資源是不一樣的,不能混淆)而且能夠減小運行時內存的壓力(由於不用將所有的資源一會兒加載到內存中去,根據狀況須要加載不一樣的assetbundle)服務器

一個assetbundle包中是什麼

這是一個不錯的問題,實際上"assetbundle"指的是兩個不一樣的東西,固然是根據須要而決定的網絡

第一個實際上就是存儲在磁盤上的文件,咱們將它稱之爲assetbundle壓縮文件,更或者是簡稱存檔文件。能夠把這個壓縮文件想象成一個容器,就好像一個文件夾包含了許許多多額外的的文件,這些額外的文件由兩種類型組成,一個是序列化文件另外一個則是資源文件自己。這些序列化文件包含了你的資源被變成了自定義object寫入的一個文件(這個文件記錄了這個assetbundle的信息)。另外一個資源文件就是一塊一塊的二進制數據被分開存儲某些資源(texturex,audio)以方便咱們能夠有效的用線程去從磁盤上加載他們。線程

第二個指的是當你經過代碼去與一個assetbundle對象加載資源從一個具體的assetbundle。assetbundle對象包含了你添加進去的全部資源並由一個對應的映射文件,當你去須要加載一個資源時你須要對它進行請求。翻譯

2017-05-15 published3d

相關文章
相關標籤/搜索