打包相關(guān)

Q1:如果我有一個Prefab,它的Dependencies都在Resources文件夾中,那么,當(dāng)我在AssetBundle打包時,只打包這個Prefab(不指定BuildAssetBundleOptions.CompleteAssets和BuildAssetBundleOptionsCollectDependencies)的話,這個Prefab能夠正確實(shí)例化嗎?

這是不能正確實(shí)例化的,因?yàn)锳ssetBundle中的資源和Resource文件夾下資源是不會建立依賴關(guān)系的(腳本除外,因?yàn)殚_啟BuildAssetBundleOptionsCollectDependencies 時,腳本依然不會打包到AssetBundle中)。所以會出現(xiàn)Mesh、Material等的丟失。

Q2:假設(shè)有兩個界面Panel A和Panel B,它們均依賴一個共享Atlas C。AssetBundle打包時,如果我們將其分別打包的話,那么在使用時是否不能將AssetBundle C進(jìn)行卸載?如果在加載Panel A和B之前,將Atlas C加載到內(nèi)存中,但是將AssetBundle C進(jìn)行卸載,那么在加載和實(shí)例化Panel A和B時,是否會出問題?

是的,不僅是Panel和Atlas,只要是A或B依賴于C,就必須保證在加載或?qū)嵗疉或B時,C的AssetBundle一定存在于內(nèi)存中。如果之前將C對應(yīng)的AssetBundle進(jìn)行卸載,則加載或?qū)嵗疉和B時,引擎將無法自動將C綁定給A和B進(jìn)行使用。
關(guān)于AssetBundle依賴性打包,我們已在之前的分享揭開AssetBundle廬山真面目中有所提及。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容