*最近项目更新了Unity5.5.2,顺便更新了项目的ui打包,也更新一下这边的笔记
首先打包分为两部分,一部分是打包成Assetbundle包,一部分是从Assetbundle包解包出来成为可用的资源。
首先说第一部分 打包
所有资源都可以打包,甚至不是资源(一些数据)也可以打包,只要你需要。
打包出来的东西都可以直接用,一个字体,一个Texture,一个Prefab,一个场景,都是一打出来成Assetbundle包就可以直接用,但是为什么大家还是要各自开发自己的打包流程呢?
最重要的原因就是,如果不论什么都直接打包,比如你在开发两个UI界面,这两个UI界面都用到同一个Texture,同一个Font,而你又各自打包两个Prefab,这时在两个bundle包里就都会包含这个Texture和这个Font,也就是它重复存在占用了多一份内存。
所以为了解决这种问题,基本上每个项目都会在打包的时候把Texture,Atlas,Font等用到的相同资源剥离,记录,之后再打包,等到用的时候再加载回来。
这就是每个项目自己的打包流程主要的开发工作。
而现在的unity版本(我们项目用的是unity5.3.5f)提供了剥离方法,以前的unity版本需要自己剥离。等下在下面讲打包的时候两种都会讲到。(虽然你只需要用一种,为了详细 就两种都讲)
接下来讲我们项目的打包流程。
首先打包一般的Texture,Atlas都比较简单,有两个是比较特殊需要独立开发的情况
1.打包Panel(UI界面)
2.打包Scene(游戏场景)
先来说一下打包Panel
一个UI界面里你会用到很多图片,很多字体,不管是Atlas或者Texture你都需要把这些剥离开来。
打包Panel我们使用自己的剥离方式。
假设现在有一个BattleUI.Prefab
下面是