精灵图导出 — 把多帧动画拼成一张大图
什么是精灵图
Sprite Sheet(精灵图 / 精灵图集) 是游戏开发里的常用技术——把多个小图片(游戏角色、UI 元素、动画帧)有规则地拼成一张大图片,然后游戏引擎在运行时根据位置信息从大图片上"切"出需要的部分。
Drawpile 2.3.1 开始支持直接把动画时间轴的所有帧导出成一张精灵图。
导出设置
File → Export → Sprite Sheet,弹出对话框设置:
排列方向:
- 水平排列(Horizontal)— 所有帧从左到右一行排
- 垂直排列(Vertical)— 所有帧从上到下一列排
- 网格排列(Grid)— 按指定的列数排成网格。比如 20 帧、列数设 5 → 自动排成 5×4 的网格
帧间距 — 相邻帧之间加几个像素的间距(padding)。游戏引擎切图时需要留出间隙避免颜色溢出。
导出格式 — PNG 或 WEBP。PNG 无损、WEBP 体积更小。
透明处理 — 保持透明(游戏引擎需要)或导出成不透明背景(加个底色)。
像素游戏场景
像素游戏里精灵图导出特别有用:
- 用 Drawpile 的像素完美模式画逐帧角色动画
- 直接导出 Sprite Sheet
- 放进 Unity / Godot / Phaser 等游戏引擎,配置网格大小(每帧的宽高)就可以用
Drawpile 虽然不是专业的像素游戏美术工具,但对小型独立项目来说够用——尤其是多人协作画的时候。
排列方向选择
- 角色动作序列(逐帧动画)→ 水平排列最常见(从左到右 = 从起始姿势到结束姿势)
- 图标 / UI 元素 → 网格排列按类别分组
- 长序列多段动画 → 网格排列避免一张图太长或太宽
注意事项
Fixed Layer 不被包含 — 导出精灵图时,被标记为 Fixed 的图层会被自动跳过(和翻页预览一样)。确保你想导出的图层都没有标 Fixed。
Frame View vs Layer View — 精灵图导出的是帧视图的内容(动画帧),不是图层视图。所以静态图层(不在任何时间轴轨道上的层)不会被包含进精灵图。如果需要静态层也出现在每一帧里,把它们画进时间轴轨道。
浏览器版不支持 — Web 版本 Drawpile 没有精灵图导出功能。在桌面版 Drawpile 里做。
和 Aseprite 的对比
Aseprite 是目前最专业的精灵图 / 像素画工具。Drawpile 的精灵图导出是"够用级":
- ✅ 多方向排列、网格、间距
- ❌ 没有逐帧调色板管理、没有自动对齐、没有导出 JSON 元数据(游戏引擎通常需要 JSON 来知道每帧的坐标和尺寸)
- ❌ 没有帧标签(Frame Tag)——游戏引擎用标签来知道哪段是 idle 动画、哪段是 walk 动画
Drawpile 适合快速出素材,复杂的精灵图后期整理还是 Aseprite 更专业。但 Drawpile 的多人协作能力是 Aseprite 不具备的——一个团队可以一起在 Drawpile 里同时画多个角色的动画,然后各自导出整理。