尝试清理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官方我求求你赶快修复吧......

 

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