嘗試清理Prefab中冗餘的內容

整理項目特效Prefab時發現Prefab特別大,一個包含幾十個ParticleSystem的Prefab大小竟然達到了1MB(項目採用了ForceText模式),懷疑是ParticleSystem的序列化字段太多,於是創建一個空ParticleSystem生成Prefab,發現竟然有80KB那麼大,和預想中的一樣。

用Sublime打開Prefab進行研究分析,發現ParticleSystem序列化內容很大的原因如下:

  1. 很多沒有用到得Module也被序列化了,這一點在Inspector面板上打開Debug模式也能看到
  2. float和Color有大量的Curve數據,即使並沒有採用這些Curve模式

嘗試進行解決,一方面,對於ParticleSystem裏面enabled爲false的Module,直接分析Prefab內容進行刪除;另一方面,把沒有用到的Curve數據進行清理,最後可以將Prefab壓縮到原始大小的10%左右。

最後問題來了,將清理和的ForceText Prefab轉爲Binary之後,那些被清理的序列化字段又回來了,打AssetBundle測試也是如此,結論是清理只能減少Git/SVN的傳輸對比:)

Unity官方我求求你趕快修復吧......

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章