导出问题排查|GIF 颜色变脏、Sprite Sheet 切歪、帧序错了
GIF 颜色变脏 / 丢失
原因:GIF 格式最多 256 色,超过的会被 Aseprite 量化合并,可能导致颜色丢失。
解决方法
方法一:手动收敛调色板(推荐)
- Sprite → Color Mode → Indexed(切到索引色模式)
- 调整调色板,把相似颜色合并到 ≤ 256 色
- 再导出 GIF
方法二:让 Aseprite 自动优化
导出 GIF 时勾选 "Optimize Colors"(或 "Dither")——Aseprite 会尝试用抖动(棋盘格交错)来模拟超出的颜色,效果比直接丢色好。
方法三:用 PNG 序列或 Sprite Sheet 代替
如果半透明和颜色精度对你很重要,不要用 GIF——导出 PNG 序列或 Sprite Sheet + JSON,GIF 只是分享格式不是生产格式。
Sprite Sheet 切帧错位
十有八九是帧尺寸不统一。
检查步骤
- 在时间轴里选中所有帧 → Sprite → Canvas Size 看尺寸是否一致
- 如果中途改过画布尺寸,所有帧的画布都会被同步修改(不会不一致)——但如果某些帧用了 Slice 或 Transform 修改过位置,可能导致视觉错位
- 导出后打开 Sprite Sheet PNG,手动检查每一格宽度是否一致
修复方法
- 不一致的帧 → 选中后用 Transform → 把内容移回正确位置
- 或者导出时勾选 "Trim"(自动裁掉透明边)→ 注意这会导致不同帧裁掉的区域不同,引擎切片更难对齐
- 建议:保持所有帧画布尺寸一致,不要中途改画布尺寸
帧序在导出后乱了
原因 1:时间轴里帧的顺序本身就不对。
检查时间轴,用 , 和 . 前后翻帧确认顺序正确。
原因 2:PNG 序列导出时序号没补零。
文件名 character_1.png、character_10.png、character_2.png 会按字典序排列成 1, 10, 2。补零(character_01 ~ character_12)就解决了。
导出后文件太大
| 格式 | 控制体积的方法 |
|---|---|
| GIF | 收敛颜色到 ≤ 128 色、减少帧数、缩短帧时长 |
| Sprite Sheet | 勾选 Merge Duplicates(去掉重复帧)、选 By Tag 布局避免空行、分标签导出多张 |
| PNG 序列 | 用 PNGOptimus / oxipng 等工具压缩 |
半透明像素导出后变实心
GIF 的硬限制:GIF 不支持半透明。Alpha < 128 → 全透明;Alpha ≥ 128 → 全不透明。
解决方法:不用 GIF,导出 PNG 序列或 Sprite Sheet。
检查清单(导出前)
- [ ] 所有帧画布尺寸一致
- [ ] 调色板收敛(GIF 导出 ≤ 256 色)
- [ ] 帧时长设置正确(关键帧停一拍、导出前整体加快一档)
- [ ] 标签范围选对(多段动画时)
- [ ] 循环设置正确(Forever / No Loop)
- [ ] JSON 元数据勾选(引擎导入时需要)
- [ ] 文件序号补零(PNG 序列)