筆記:20131030 Unity原廠講師大解密
Asset Bundle工作流程及人物換裝實例 - 劉剛 Unity內部的資源有兩種(斯斯有兩種?): Resources:有10年歷史,儘量用Asset Bundle Asset Bundle:暱稱AB,現今Unity處理資源的中心 AB選項的差異 透過Web Player下載Asset Bundle的Cache需要收費,在iOS,Android的Cache不需收費。--->手持遊戲卯起來用!!! 瀏覽器本身也有Cache,為什麼要用Unity的Cache? 因為存在Cache裡面是解壓狀態,下次調用不需再解壓一次,大省CPU時間。 Unity會管理Cache大小,壓縮檔案解壓後會丟掉。 Browser就只能存壓縮狀態的Asset Bundle,而且位置每種Browser都不同。-->有付錢有差 AssetBundle.CreateFromMemory:大多數用在對內容作加解密,無法Cache,也就是每次執行都要下載一次,Script也可加密 AssetBundle.CreateFromFile AssetBundle.Load與Application.Load的差異,Application.Load只能Load StreamAsset裡面的東西。 每開一個www用來下載AssetBundle,就要用掉8MB的Buffer,所以www下載完要作以下動作來清掉那8M: WWW.Dispose AssetBundle.Unload(false) Resources.UnloadUnusedAssets AssetBundle可以作Dependency!!! BuildPipeline.PushAssetDependencies,把資源推進去 BuildPipelinePopAssetDependencies,把資源彈出來 假設Push以下資源:A,B,C,透過Push&Pop,可以產生3個Packege,C依賴B,A,B依賴A,A獨立的Asset Bundles,完全不會重複包資源! 在一個Prefab裡面會有Mesh,Material,Shader,Texture,Script,都應該分開包,Load的時候再按照順序Load回來,再配合上Cache機制,已經下載過的Asset...