自动图集资源 (Auto Atlas)

自动图集资源 作为 Cocos Creator 自带的合图功能,可以将指定的一系列碎图打包成一张大图,具体作用和 Texture Packer 的功能很相近。

创建自动图集资源

资源管理器 中右键,可以在如下菜单中找到 新建 -> 自动图集配置 的子菜单,点击菜单将会新建一个类似 AutoAtlas.pac 的资源。

create auto atlas

自动图集资源 将会以当前文件夹下的所有 SpriteFrame 作为碎图资源,以后会增加其他的选择碎图资源的方式。 如果碎图资源 SpriteFrame 有进行配置过,在打包后重新生成的 SpriteFrame 将会保留这些配置。

配置自动图集资源

在资源管理器中选中一个 自动图集资源 后,属性检查器 面板将会显示 自动图集资源 的所有可配置项。

属性功能说明
最大宽度单张图集最大宽度
最大高度单张图集最大高度
间距图集中碎图之间的间距
允许旋转是否允许旋转碎图
输出大小为正方形是否强制将图集长宽大小设置成正方形
输出大小为二次幂是否将图集长宽大小设置为二次方倍数
算法图集打包策略,目前暂时只有一个选项
输出格式图集图片生成格式,可选的格式有 [png、jpg、webp…]
扩边在碎图的边框外扩展出一像素外框,并复制相邻碎图像素到外框中。该功能也称作 “Extrude”。
不包含未被引用资源在预览中,此选项不会生效,构建后此选项才会生效

配置完成后可以点击 预览 按钮来预览打包的结果,按照当前自动图集配置生成的相关结果将会展示在 属性检查器 下面的区域。 需要注意的是每次配置过后,需要重新点击 预览 才会重新生成预览图。

结果分为:

  • Packed Textures:显示打包后的图集图片以及图片相关的信息,如果会生成的图片有多张,则会往下在 属性检查器 中列出来。
  • Unpacked Textures:显示不能打包进图集的碎图资源,造成的原因有可能是这些碎图资源的大小比图集资源的大小还大导致的,这时候可能需要调整下图集的配置或者碎图的大小了。

生成图集

预览项目或者在 Cocos Creator 中使用碎图的时候都是直接使用的碎图资源,在 构建项目 这一步才会真正生成图集到项目中,注意在构建时要勾选自动图集选项才会生效。正常情况下,生成图集资源后,会删除包体内原有的小图的 texture 和 image 图片资源,以下两种特殊情况会有特殊处理:

  1. 当图集资源在 resources 目录下,除了正常生成图集资源以外,也会同时生成原始 spriteFrame 生成的 texture 以及 image 资源

  2. 当图集资源文件夹内任意 spriteFrame 依赖的 texture 被其他资源直接使用(例如被直接作为纹理贴图使用),被依赖的 texture 及其 image 资源将会被一同打包出来

以上两种情况事实上都会增大包体,构建将会警告提示,如非必须,请不要这样使用。