揭開AssetBundle廬山真面目 一

2021-07-24 21:02:32 字數 1492 閱讀 1667

(1)常用打包api

public static bool buildassetbundle(object mainasset, object assets, 

string pathname, out uint crc, buildassetbundleoptions assetbundleoptions,

buildtarget targetplatform);

public static string buildstreamedsceneassetbundle(string levels,

string locationpath, buildtarget target, out uint crc, buildoptions options);

(2)常用打包選項(buildassetbundleoptions)

以上選項均已在5.x新機制中預設開啟。因此在4.x版本中,開發者如果沒有深入了解每個選項的意義,我們建議也都開啟。

三個選項開啟的情況下打包,可以保證在載入並例項化其中的prefab時不會出現資源引用丟失的情況,因為所有依賴的資源都在包中。這也意味著,如果prefab-a和prefab-b引用了同乙個asset-a且分別打包時,兩個包中就都會包含asset-a。

載入到記憶體後,通過profiler會發現asset-a的冗餘資源。

然而很多時候,並不希望把兩個prefab打在乙個bundle中,此時,就需要通過依賴性打包來解決。

依賴性打包的作用在於避免資源冗餘,同時提高資源載入和解除安裝的靈活性,其重要性不言而喻。在4.x版本的assetbundle打包系統中,涉及一對 buildpipeline.pushassetdependencies和buildpipeline.popassetdependencies介面,從官方文件中可以大致了解其用法:

你可以簡單地認為,pushassetdependencies是將資源進棧,popassetdependencies是讓資源出棧,每打乙個包,引擎都會檢查當前棧中所有的依賴項,檢視是否有相同資源已經在棧中。如有,則與其相關的assetbundle建立依賴關係。機制不難理解,但使用中依然有幾個容易忽視的注意點,請移步下文高階篇。

揭開AssetBundle廬山真面目(二)

昨天的分享揭開assetbundle廬山真面目 一 我們主要剖析了4.x版本下的assetbundle管理機制,那5.x版本究竟有些什麼變化呢?今天我們來一 竟。1 唯一api public static assetbundlemanifest buildassetbundles string ou...

《望廬山瀑布》

日照香爐生紫煙,遙看瀑布掛前川。飛流直下三千尺,疑是銀河落九天。日照 句 太平寰宇記 香爐峰在廬山西北,其峰尖賀,煙雲聚散,如博山香爐之狀。品評 香爐,指廬山香爐峰,在廬山西北,其峰尖圓,煙雲聚散,如博山香爐之狀 樂史 太平寰宇記 可是,到了詩人李白的筆下,便成了另一番景象 一座頂天立地的香爐,冉冉...

《廬山煙雨》的境界

廬山煙雨浙江潮,未到千般恨不消。到得還來別無事,廬山煙雨浙江潮。以 人間詞話 賞之。詞以境界為最上。有境界則自成高格,自有名句。有有我之境,有無我之境。有我之境,以我觀物,故物我皆著我之色彩。無我之境,以物觀物,故不知何者為我,何者為物。廬山煙雨浙江潮,未到千般恨不消。據說 廬山美麗神秘的煙雨,錢塘...