resprite 中文文档 下载 App

Resprite 精灵表导出:PNG 网格排列、按片段拆分、多文件批量

精灵表是什么

精灵表(Sprite Sheet)是把动画的每一帧按网格排列在一张 PNG 里。游戏引擎(Unity、Godot、Cocos、Phaser)会读取这张 PNG 和对应的元数据 JSON,自动知道每一帧的位置和内容。

Resprite 导出精灵表的完整度在同类型软件里算是比较高的——支持多文件拆分、按动画片段分组、自定义命名。

导出入口

菜单 ▸ 导出 ▸ 精灵表 → 打开导出对话框。

精灵表参数配置
精灵表参数配置

核心参数

帧范围(Frame Range)

和 GIF 导出类似:全部帧、当前片段、或手动指定范围。

排列方向

两种:

大多数游戏引擎默认水平排列。

每行帧数量(Frame Count Per Row)

决定网格宽度。比如 16 帧动画设为每行 8 帧 → 2 行。设为 0(自动)时 Resprite 会自动算一个合理的网格尺寸(比如 16 帧 → 每行 4、共 4 行)。

边距(Margin / Padding)

参数说明
外边距(Margin)整张精灵表周围的空白像素
帧间距(Padding)相邻帧之间的空白像素

这些参数主要是给游戏引擎做"安全边距"用的——有些引擎读取精灵表时会有像素级偏移,留 1~2 像素边距可以避免帧与帧之间出现"拖影"。

放大倍数(Scale)

保持像素比例等比放大。通常和画布原始尺寸一致(1×),游戏引擎会自己在运行时缩放精灵。

按片段拆分(v1.32.1+ / iOS R60)

为什么拆分

一个角色有 Idle、Walk、Run、Attack 四个动画片段,如果全部堆在一张精灵表里:

按 Clip 拆分后,Resprite 会自动生成:

每个 PNG 旁边还会有对应的元数据 JSON,告诉游戏引擎帧数量、网格尺寸等信息。

拆分条件可以组合

Resprite 允许你组合这些拆分条件:

命名规则(自定义)

导出时可以设置命名模板:

iOS 端可以把多个导出的精灵表打包为 ZIP 方便一次性分享;桌面端直接选择目标文件夹。

精灵表拆分与命名
精灵表拆分与命名

导出预览

导出对话框里会实时预览精灵表的最终排布(网格尺寸、总像素大小),导出前确认一下不会有意外。

精灵表导出与游戏引擎

Resprite 导出的精灵表格式兼容主流游戏引擎的读取标准:

Resprite 还支持导出精灵表元数据 JSON,里面包含每一帧的像素偏移——某些引擎(如 Phaser)可以直接读取这个 JSON 来自动切帧,不需要手动配置。

桌面端:再次导出(Repeat Export)

DA v1.30.0+ 引入了"再次导出"功能:沿用上一次的导出目标位置和设置,直接重新执行。对需要连续比对多个导出版本(比如调整帧间距后重新出一版)的工作流特别方便。

再次导出
再次导出

一个实际工作流

假设你在 Resprite 里画了一个角色,有 Idle(4 帧)、Walk(8 帧)、Attack(6 帧)三个片段:

  1. 菜单 ▸ 导出 ▸ 精灵表。
  2. 帧范围 → 全部。
  3. 排列方向 → 水平。
  4. 每行帧 → 自动。
  5. 按 Clip 拆分 → 开启。
  6. 命名 → hero_{clip_name}.png。
  7. 导出 → 得到 3 张 PNG + 3 份 JSON。
  8. 游戏引擎导入 → 自动识别帧序列。

功能可能随版本变化,精灵表按 Clip 拆分从 iOS R60 / DA v1.32.1 开始提供。