Golang语言情怀--第121期 全栈小游戏开发:第12节:自动图集资源 (Auto Atlas)

2023-11-29 14:58:41 浏览数 (2)

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

创建自动图集资源

在 资源管理器 中点击左上角的 创建按钮,然后选择 自动图集配置,即可在 资源管理器 中新建一个 auto-atlas.pac 资源。

自动图集资源 目前是以当前文件夹下的所有 SpriteFrame 作为碎图资源,然后在构建过程中将其打包成一个大的 Sprite Atlas,之后我们会增加其他的选择碎图资源的方式。如果碎图资源 SpriteFrame 有配置过,那么打包后重新生成的 SpriteFrame 将会保留这些配置。

配置自动图集资源

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

代码语言:javascript复制
单张图集最大宽度

其余属性与 Texture 是一样的,详情请参考 纹理贴图。

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

注意:每次配置完成后,需要重新点击 预览 才会重新生成预览图。

结果分为:

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

生成图集

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

  1. 当图集资源在 Bundle 目录下,除了正常生成图集资源以外,也会同时生成原始 spriteFrame 生成的 texture 以及 image 资源,如果对图集的资源有明确的使用范围 请勾选对应的剔除选项以免造成包体过大。
  2. 当图集资源文件夹内任意 spriteFrame 依赖的 texture 被其他资源直接使用(例如被直接作为纹理贴图使用),被依赖的 texture 及其 image 资源将会被一同打包出来。

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

本期就到这里,下期再见。

同学们,兴趣是最好的老师;只争朝夕,不负韶华!加油!

0 人点赞