如何在 Aseprite 中跨多个动画帧移除不需要的像素区域
要在 Aseprite 中跨多个动画帧移除同一处不需要的像素区域,请在画布上选中该区域,在时间轴中选中受影响的 cel,然后使用 编辑 > 清除。在透明图层上,这会将选中的像素清除为透明。Aseprite 明确支持跨多个帧、图层和 cel 清除选区。(Aseprite 图层,Aseprite v1.2.14)
此工作流程适用于清理动画虚拟角色的情况:移除散落的像素团、不需要的配饰或重复出现的标记,同时保留动画其余部分。关键在于判断同一个固定选区能否移除不需要的像素,同时不触及序列中任何位置的目标图稿。
何时可以清除每一帧中的同一区域?
绘制删除边界之前,先检查整个受影响的序列。第一帧中只包含不需要标记的矩形选区,在后续姿势中可能会覆盖角色的一部分。只有当所选区域适用于每个目标 cel 时,才适合批量清除。
使用此决策表选择编辑范围。以下是将共用选区应用于时间轴范围时的实用建议。
| 观察结果 | 建议做法 | 清除前检查 |
|---|---|---|
| 不需要的像素始终位于同一位置,且远离目标图稿 | 对受影响的 cel 使用一个固定选区进行清除 | 检查每一帧是否有重叠 |
| 像素在不同帧组之间改变位置 | 为每组使用各自的选区进行清除 | 检查每组的首帧和末帧 |
| 像素轮廓变化时会贴近目标图稿 | 为每个受影响的帧单独创建选区 | 高倍缩放下沿着精确边界选取 |
| 不需要的元素位于独立图层 | 编辑前单独检查该图层 | 确认其中不含需要保留的细节 |
| 在合并后的帧中,该元素覆盖了目标图稿 | 移除该元素,然后重建缺失的图稿 | 确定需要重新绘制哪些像素 |
固定选区作用于画布上的位置,不会跟随角色移动的特征。如果像素团在动画中移动,较大的矩形或许能在所有帧中框住它,但在所选范围内,这个矩形也必须始终避开需要保留的像素。
如何准备动画?
编辑前先另存一份工作副本。将可编辑的主文件保留为 .aseprite 格式;根据 Aseprite 记录的工作流程,此格式会保留图层和帧。记录原始帧数、画布尺寸,以及之后需要对比的帧时长。(Aseprite 工作流程)
使用 视图 > 时间轴 显示时间轴。时间轴会显示精灵的图层和帧,便于你找到包含不需要区域的图层。cel 是特定图层和帧上的图像内容。暂时隐藏其他图层,以确定不需要的像素实际位于何处,然后在编辑时恢复其可见状态。(Aseprite 时间轴,Aseprite 图层)
检查目标是否为不透明的 Background 图层。清除该图层时,选区会填充为当前背景色。若要移除为透明像素,请先使用 图层 > 转换为 > 图层 进行转换。清除透明图层会生成透明像素。还要确认目标图层未锁定。(Aseprite 图层)
如果起始素材是精灵图集,请使用 文件 > 导入精灵图集 导入。设置与图集匹配的帧宽度、高度、偏移量和留白,并选择能得到预期帧顺序的图集布局。编辑前检查生成的序列,因为导入设置错误会改变每帧的内容。(Aseprite 精灵图集)
如何跨多个 cel 清除一个区域?
此操作由两个选区控制:画布选区确定像素,时间轴选区确定 cel。单独的画布选区最初只作用于当前 cel;Aseprite 文档说明,时间轴范围可以将支持的操作扩展到选中的 cel。(Aseprite 选区,Aseprite 变换)
- 激活一个有代表性的 cel。 选择一个容易辨认不需要区域的帧。
- 在画布上选中像素。 按 M 使用矩形选框工具,将不需要的区域框起来。若边界不规则,可使用选区工具的添加和减去模式进行调整。
- 在时间轴中选中受影响的 cel。 在目标图层上拖动,选中所需的 cel 位置范围。继续前检查高亮的范围。
- 选择“编辑 > 清除”。 应用此命令到选定范围时,保持画布选区不变。
- 立即检查另一个受影响的帧。 确认该区域也已从该帧中消失,然后检查范围内其余帧。
- 检查完毕后取消选区。 不再需要边界时,使用 选择 > 取消选择。
Aseprite 选区 文档说明了矩形选框快捷键和选区修饰模式。Aseprite 社区关于 cel 选取的说明介绍了通过拖动选择范围;官方发行说明则确认支持清除多个 cel 的选区。
如果拖动时触发了导航或移动 cel,而非选择范围,请检查 编辑 > 首选项 > 时间轴。Aseprite 提供 拖动时选择、Shift + 单击时选择 和 保持选区 等设置。高亮显示的范围可以直观确认你选中了预期的 cel。(Aseprite 首选项)
先在较小范围内尝试此操作。检查编辑后的两三帧,可以在将操作应用于更长的序列前发现图层或选区边界是否有误。
如果不需要的像素会移动或与角色重叠,该怎么办?
根据不需要的像素出现的位置划分动画。举例来说,在一个八帧序列中,假设一个小标记在第 1–3 帧位于角色旁边,在第 4–6 帧移了位置,在第 7–8 帧与轮廓接触。对第 1–3 帧使用一个选区,对第 4–6 帧使用调整后的选区,并分别为最后两帧创建选区。
合适的边界应尽可能小,既能包含一组帧中的所有不需要像素,又能排除该组中所有需要保留的像素。除了首尾帧,也要检查中间帧:某个特征可能会短暂经过计划删除的区域。
当不需要的元素覆盖了同一合并 cel 上的图稿时,清除会留下透明空洞。之后重建原本的轮廓或填补空洞;可参照姿势适用的相邻帧。如果可编辑图像中缺少像素,清除操作无法将其恢复。
如果只想影响序列的一部分,编辑前请检查是否存在链接 cel。链接 cel 共用图像和位置,修改其中一个会同时修改其他 cel。在时间轴中右键单击相关 cel,并在需要独立副本时选择 取消链接。不要将不同姿势链接起来作为清理捷径。(Aseprite 链接 cel)
为什么清除操作影响了错误的像素,或只作用于一帧?
重复命令前先判断原因。先检查选区的作用范围,再查看图层和任何链接内容。
| 现象 | 检查内容 | 后续操作 |
|---|---|---|
| 只有一帧发生变化 | 可能没有选中时间轴范围 | 重新建立 cel 选区,并在小范围内测试 |
| 需要保留的细节消失了 | 画布选区在某些姿势下与这些细节重叠 | 撤销操作,使用较小的帧组或逐帧选区 |
| 像素变成了纯色 | 目标可能是 Background 图层 | 清除前将其转换为透明图层 |
| 其他帧也发生了变化 | 编辑的 cel 可能是链接 cel | 检查链接,并在需要独立编辑时取消链接 |
| 标记仍然可见 | 另一个可见图层可能包含该标记 | 逐个检查图层 |
| 无法编辑 | 目标图层可能已锁定 | 解锁目标图层 |
如何确认清理效果,同时不改变动画?
高倍缩放下逐帧检查所有受影响的帧。查看清除区域和最近的目标轮廓,确认没有遗漏像素、意外缺口或被部分移除的细节。然后以预期显示尺寸查看动画;闪烁的边缘在这个尺寸下可能更容易察觉。
使用 Aseprite 的 播放 按钮或按 Enter 预览动画。文档列出的帧导航按键包括左右方向键。观看完整循环,包括末帧回到首帧的过渡。(Aseprite 动画)
将结果与已保存的原始文件对比。确认帧数、画布尺寸、时间和角色位置仍符合预期输出。特别留意每个已编辑帧组前后的帧。除非你另有输出要求,否则清理时保持现有画布尺寸不变。
如何导出,避免已移除的像素再次出现?
保存清理后的 .aseprite 主文件,然后单独导出交付文件。Aseprite 的工作流程文档介绍了使用 文件 > 导出 > 导出为 导出 GIF 和 PNG 序列等格式。若要导出图集,请使用 文件 > 导出精灵图集,并确认包含了预期图层和帧标签。(Aseprite 工作流程,Aseprite 精灵图集)
如果还要在 GIMP 中处理动画,请检查帧的合并方式。GIMP 会将图层视为动画帧:(replace) 会替换前一帧,而 (combine) 会将可见内容叠加到前一帧。因此,合并后的帧中若有透明区域,之前的内容可能仍会显示。若序列中每个图层都包含完整且符合预期的帧,当擦除区域似乎再次出现时,应检查替换行为。(GIMP 导出文件格式)
重新打开导出文件,再完整检查一遍动画循环。确认整个预期序列中都没有不需要的区域,周围图稿保持完整,交付的动画保留了预期的位置和时间后,即可完成。
