【Unity3D技術文檔翻譯】第1.4篇 AssetBundle 依賴關係

Unity3D技術文檔翻譯

上一章:【Unity3D技術文檔翻譯】第1.3篇 建立 AssetBundles翻譯

本章原文所在章節:【Unity Manual】→【Working in Unity】→【Advanced Development】→【AssetBundles】→【AssetBundle Dependencies】對象

AssetBundle 依賴關係

若是一個或者多個 UnityEngine.Objects 引用了其餘 AssetBundle 中的 UnityEngine.Object,那麼 AssetBundle 之間就產生的依賴關係。相反,若是 UnityEngine.ObjectA 所引用的UnityEngine.ObjectB 不是其餘 AssetBundle 中的,那麼依賴就不會產生。blog

倘若這樣(指的是前面兩個例子的後者,既不產生依賴的狀況),被依賴對象(UnityEngine.ObjectB)將被拷貝進你建立的 AssetBundle(指包含 UnityEngine.ObjectA 的 AssetBundle)。內存

更進一步,若是有多個對象(UnityEngine.ObjectA1UnityEngine.ObjectA2UnityEngine.ObjectA3......)引用了同一個被依賴對象(UnityEngine.ObjectB),那麼被依賴對象將被拷貝多份,打包進各個對象各自的 AssetBundle。ci

若是一個 AssetBundle 存在依賴性,那麼要注意的是,那些包含了被依賴對象的 AssetBundles,須要在你想要實例化的對象的加載以前加載。Unity 不會自動幫你加載這些依賴。文檔

想一想看下面的例子, Bundle1 中的一個材質(Material)引用了 Bundle2 中的一個紋理(Texture):get

在這個例子中,在從 Bundle1 中加載材質前,你須要先將 Bundle2 加載到內存中。你按照什麼順序加載 Bundle1 和 Bundle2 並不重要,重要的是,想從 Bundle1 中加載材質前,你須要先加載 Bundle2。it

在下一章節中,咱們將討論如何使用前面章節提到的 AssetBundleManifest,在運行時肯定並加載依賴(AssetBundle)。dva

若是本文對你有幫助的話,點個贊或者評論一下吧!打包

下一章:【Unity3D技術文檔翻譯】第1.5篇 本地使用 AssetBundles

相關文章
相關標籤/搜索