使用 Image Atlas¶
使用 Image Atlas 将多张工程图像排列到一个图集中,并生成记录每张图像位置和尺寸的 JSON 文件。
您可以过滤并选择 PNG、JPG 和 EXR 图像,设置图集尺寸,并在保存之前预览排列效果。保存图集后,您可以将其导入当前工程。
对于骨骼动画 EXR 纹理,该工具还可以将匹配的动画材质与生成的图集关联,并更新图像区域偏移和图集尺寸。
打开该工具¶
要打开 Image Atlas,在 Kanzi Studio 主菜单中选择 Tools > Image Atlas。
左侧列出当前工程中可用的图像。右侧显示打包预览。图集尺寸和输出设置位于底部。
用户界面¶
控件或区域 |
描述 (Description) |
|---|---|
Image Classification |
按格式过滤图像。包括 All Images,以及存在匹配资源时的 PNG、JPG 和 EXR 类别。类别名称后的数字为图像数量。 |
图像列表 |
显示缩略图和名称。点击图像可切换选择状态。绿色边框表示已选定。 |
图像数量 |
显示当前列表中的图像数量及相关的选择信息。 |
Clear Selection(n) |
取消选择所有已选定的图像。括号中的数字为已选定图像的数量。 |
选择信息 |
显示已选定图像的数量及各格式的分布。 |
预览区域 |
显示自动排列的图集。选择图像或更改尺寸会重新生成预览。 |
预览尺寸 |
显示预览位图的宽度和高度,这可能与所选的打包尺寸不同。 |
消息区域 |
显示格式转换警告、处理状态以及空间不足的消息。 |
Atlas Size |
设置打包画布的尺寸,例如 |
File Name |
设置输出文件的基本名称。默认值为 |
Output Directory |
设置输出目录。 |
Browse |
浏览输出目录。 |
Save |
保存图集图像及其 JSON 文件。 |
备注
格式筛选只更改显示的列表,不会取消选择被隐藏的图像。切换类别时,之前选择的图像仍包含在内。使用 Clear Selection 开始新的选择。
该工具从当前工程加载图像。您不能在此窗口中直接添加外部文件。
支持的源文件扩展名为 .png、.jpg、.jpeg、.jfif 和 .exr。单个源图像的任一维度都不能超过 8192 像素。
创建图集¶
选择图像¶
要选择您要包含在图集中的图像:
在 Image Classification 中选择一个类别。
单击您要包含在图集中的图像。
每个已选择的图像都带有绿色边框。
查看右侧的选择信息。
再次单击图像可将其从选择中移除。要取消选择所有图像,请单击 Clear Selection。
选择多个图像时无需按住 Ctrl。每次单击都会切换图像的选择状态。
设置图集尺寸¶
在 Atlas Size 中,选择能够容纳已选择图像的维度。
该工具会自动排列图像,并在打包区域中保留源图像的维度和方向。空间不足时,该工具不会旋转或缩小源图像,也不会将结果拆分为多个图集。
要解决空间不足消息:
按照消息提示,选择更大的尺寸或减少选择的图像。
等待预览重新生成。
确认不再显示打包失败消息。
设置输出¶
要设置输出文件名和目录:
在 File Name 中输入基本名称,例如
ui_atlas。检查 Output Directory,或单击 Browse 更改输出目录。
默认输出目录为:
<project directory>\Bake\Atlas
如果文件名为空,该工具使用 atlas。已选择图像的格式会自动决定输出扩展名。
保存和导入¶
要保存图集并选择是否导入:
等待当前选择和尺寸的预览生成完毕。
单击 Save。
如果已存在同名的图像或 JSON 文件,请选择是否覆盖。
保存后,在出现提示时选择是否将图集导入到当前工程。
如果选择导入图集,该工具会将图集纹理添加到工程中。如果选择不导入,您可以稍后使用已保存的文件。保存后,该工具会清除选择并重新加载工程图像列表。
输出格式¶
已选择的图像决定图集格式:
已选择的图像 |
输出图像 |
|---|---|
仅 PNG |
PNG |
仅 JPG、JPEG 或 JFIF |
JPG |
PNG 与 JPG 混合 |
PNG |
仅 EXR |
EXR |
EXR 与 PNG 或 JPG 混合 |
PNG;界面会显示转换警告 |
备注
骨骼动画纹理中的像素表示矩阵数据。合并这些纹理时,请仅选择 EXR 图像,以使输出保持 EXR 格式。
生成的文件¶
例如,将 File Name 设置为 ui_atlas,并将输出目录设置为 Tool_project\Bake\Atlas,会生成:
ui_atlas.png
ui_atlas.json
仅包含 EXR 的图集会生成基本名称相同的 .exr 和 .json 文件。
文件 (File) |
用途 |
|---|---|
图集图像 |
存储排列后的图像内容。 |
JSON |
存储图集文件名、打包尺寸以及每个源图像的区域位置。 |
该工具会将生成的 JSON 内容写入 Log,您可以在其中查看所需信息。
JSON 配置参考¶
例如,EXR 图集的 JSON 可以包含以下条目。这些值仅作示意:
{
"texture": "animation_atlas.exr",
"SkeletonAnimationTextureWidth": 1024,
"SkeletonAnimationTextureHeight": 1024,
"coordinate_system": "bottom-left",
"entries": {
"character_baked_animation.exr": {
"SkeletonAnimationTextureSpritePosX": 0,
"SkeletonAnimationTextureSpritePosY": 0,
"Width": 312,
"Height": 300
}
}
}
字段 |
描述 (Description) |
|---|---|
|
输出图集文件名。 |
|
图集打包宽度。 |
|
图集打包高度。 |
|
坐标约定。目前为 |
|
以源文件名为键的图像区域。 |
|
图像区域左下角的水平位置。 |
|
图像区域左下角的垂直位置。 |
|
源图像区域宽度。 |
|
源图像区域高度。 |
所有长度值均以像素为单位。
普通图像的图集使用相同的字段名称。图集 JSON 描述图像区域,它不会替换由 Animation Bake 生成的动作名称、帧数、片段起始行或其他配置。
合并骨骼动画纹理¶
要合并来自 Animation Bake 的多个 EXR 纹理:
确保已导入源 EXR 图像,并且其动画材质引用了源纹理。
打开 Image Atlas 并选择 EXR 类别。
选择要合并的 EXR 图像。确保没有同时选择 PNG 或 JPG 图像。
设置图集大小并等待预览。
设置名称和目录,然后点击 Save。
在保存后出现的提示中,选择将图集导入工程。
检查相应材质的纹理引用和区域属性,并验证动画播放。
导入仅包含 EXR 的图集时,该工具会尝试为每个源图像查找匹配的骨骼动画材质,并更新以下属性:
属性 (Property) |
更新 |
|---|---|
SkeletonAnimationSkinningBoneTexture |
引用生成的图集纹理。 |
SkeletonAnimationTextureSpritePosX |
源图像在图集中的水平起始位置。 |
SkeletonAnimationTextureSpritePosY |
源图像在图集中的垂直起始位置。 |
SkeletonAnimationTextureWidth |
图集的完整宽度。 |
SkeletonAnimationTextureHeight |
图集的完整高度。 |
此过程不会更改片段起始行、帧数或播放进度。它们仍然描述源动画数据区域内的动作。
备注
保存并导入普通的 PNG/JPG 图集不会自动更新所有 UI 图像引用或 UV 区域。