unity3d assetbundle打包策略


由於assetbundle打包存在依賴的問題,所有資源要進行合理的分包

零、代碼

代碼都放在本地,包括NGUI等插件的代碼、shader代碼(內置的shader無需打包,而自定義的shader還是需要打包,否則每個依賴這個shader的游戲物體被打包的時候都會將shader代碼打包到自己的assetbundle中去)

零點五、自定義shader

因為自定義的shader在啟用CollectDependencies 打包時也會被分別打包進assetbundle中,所以為了避免空間的浪費,可以考慮將自定義shader打包成一個基礎依賴包

一、單位

單位的模型貼圖、動畫一起打包

二、UI

1、公用圖集一起打包(UIAtlas.prefab、UIAtlas.mat、UIAtlas.png)在進入游戲的時候加載並且常駐內存

2、(依賴公共圖集)面板圖集和面板預設一起打包  在切換場景的時候加載場景所需要的面板圖集

三、場景  

1場景公用的貼圖和預設一起打包

一種風格的場景有一個公用依賴資源包

2、場景獨有的貼圖和預設,以及場景的光照貼圖、尋路數據一起和場景文件打包 

切換場景的時候先加載場景公用包,在加載場景的時候再loading場景先加載公用包、再加載場景本身的包,然后Application.LoadLevelAsync切場景

公共資源包打包的使用可以使用BuildAssetBundle     而場景打包使用 BuildStreamedSceneAssetBundle

四、特效

特效單獨打包,似乎會造成包很多的結果,還沒有想到特效好的解決方案

 

ps:打包依賴資源的時候要使用

BuildAssetBundleOptions.CollectDependencies 否則引用關系會丟失

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM