SpineRepacker 是一款将独立 PNG 散图**重新打包**成 Spine 兼容的 `.atlas` 大图格式的工具,是 SpineUnpacker的配套反向工具 Spine Atlas 打包工具
SpineRepacker 是一款将独立 PNG 散图**重新打包**成 Spine 兼容的 `.atlas` 大图格式的工具,是 SpineUnpacker的配套反向工具。
无论是修改了部分精灵图片,还是需要整理优化图集,SpineRepacker 都能生成完全符合 **Spine 3.x/4.x 标准**的 atlas 格式,输出文件可直接在 Spine 软件或游戏引擎(Unity / Cocos2d-x / Godot 等)中使用,无需任何额外转换。
SpineRepacker 是一款将独立 PNG 散图**重新打包**成 Spine 兼容的 `.atlas` 大图格式的工具,是 SpineUnpa ...
---
## 核心功能
### 1. MaxRects 最优装箱算法
- 采用业界标准的 **MaxRects BSSF(Best Short Side Fit)** 算法
- 最大化图集空间利用率,比简单的行/列布局节省 20-40% 空间
- 精灵超出单张图集容量时,自动创建多张图集(atlas_1.png、atlas_2.png...)
### 2. 透明边缘裁剪(Trim Alpha)
- 自动检测并裁剪精灵的透明边缘,节省图集空间
- 在 `.atlas` 文件中精确保存 `orig`(原始尺寸)和 `offset`(偏移量)
- 还原精灵在原始画布中的精确位置,游戏引擎中渲染无偏移
- 可自定义 Alpha 阈值(默认 1),灵活控制裁剪灵敏度
### 3. 旋转优化(可选)
- 可选允许旋转精灵 90° 顺时针放置,进一步提升装箱效率
- `.atlas` 文件中正确记录 `rotate: true` 标记
- 游戏引擎加载时自动识别旋转信息
### 4. 子目录精灵名
- 自动将子目录结构转换为精灵名路径(如 `subdir/spritename`)
- 与 Spine 的资源命名规范完全一致
- 递归扫描子目录,支持深层嵌套
### 5. 灵活参数配置
| 参数 | 说明 | 默认值 |
|------|------|--------|
| Atlas 名称 | 输出文件名(不含扩展名) | 目录名 |
| 最大宽度 | 图集最大宽度(像素) | 2048 |
| 最大高度 | 图集最大高度(像素) | 4096 |
| 间距 Padding | 精灵之间的间距(像素) | 2 |
| 允许旋转 | 是否允许精灵旋转放置 | 否 |
| 裁剪透明边缘 | 是否裁剪精灵透明区域 | 是 |
### 6. 标准 Spine 输出格式
- 输出 `.atlas` 文本文件,完全兼容 Spine 3.x/4.x 格式
- 输出 RGBA8888 透明通道 PNG 大图
- 正确处理 Spine 的下左坐标系(bottom-left origin)offset 计算
- 自动复制输入目录中的 `.json` 骨骼数据文件到输出目录
---
SpineRepacker 是一款将独立 PNG 散图**重新打包**成 Spine 兼容的 `.atlas` 大图格式的工具,是 SpineUnpa ...
SpineRepacker 是一款将独立 PNG 散图**重新打包**成 Spine 兼容的 `.atlas` 大图格式的工具,是 SpineUnpa ...
## 使用方法
1. 选择包含 PNG 散图的目录(可含子目录)
2. 设置输出目录
3. 配置参数:Atlas 名称、最大尺寸、间距、旋转、裁剪
4. 点击"开始打包"
5. 输出目录中生成 `atlas.atlas` 和 `atlas.png`
> 也支持将目录直接拖拽到程序窗口。
---
## 输出格式说明
生成的 `.atlas` 文件格式示例:
```
atlas.png
size: 1024,512
format: RGBA8888
filter: Linear,Linear
repeat: none
body
rotate: false
xy: 2, 2
size: 64, 64
orig: 80, 80
offset: 8, 8
index: -1
head
rotate: true
xy: 70, 2
size: 100, 80
orig: 120, 100
offset: 10, 10
index: -1
```
所有字段含义与 Spine 官方导出格式完全一致,游戏引擎可直接加载。
---
## 打包原理
SpineRepacker 的处理流程:
1. **扫描** 输入目录下所有 PNG 文件(含子目录),子目录名作为精灵前缀
2. **加载** 每张 PNG 图片,转换为 32 位 BGRA 位图
3. **裁剪** 检测透明边缘,裁剪后记录 TrimX/TrimY/TrimW/TrimH
4. **装箱** 使用 MaxRects BSSF 算法将所有精灵排列到图集中
5. **渲染** 将精灵像素绘制到图集画布上(支持旋转绘制)
6. **输出** 保存为 PNG 大图 + `.atlas` 元数据文件
---
## 与 SpineUnpacker配合使用
SpineRepacker 与 SpineUnpacker构成完整的解包-修改-重打包工作流:
```
原始 atlas (player.atlas + player.png)
↓ SpineUnpacker解包
独立 PNG 散图(含子目录结构)
↓ 修改/替换部分图片
修改后的 PNG 散图
↓ SpineRepacker 重新打包
新的 atlas (player.atlas + player.png)
↓ 导入 Spine / 游戏引擎
```
典型使用场景:
- 替换角色皮肤图片后重新打包
- 优化图集布局减少内存占用
- 修改部分动画帧后更新图集
---
## 适用人群
| 人群 | 使用场景 |
|------|---------|
| 游戏美术师 | 更新部分精灵后重新打包 atlas |
| 游戏开发工作室 | 构建流水线中自动重打包资源 |
| Mod 制作者 | 替换游戏图集中的特定图片 |
| 独立开发者 | 替代昂贵的 TexturePacker 做 Spine atlas 打包 |
---
## 系统要求
- **操作系统**: Windows 7 / 8 / 10 / 11(64位)
- **运行库**: 无需安装额外运行库
- **内存**: 建议 1GB 以上(处理大量/大尺寸图片时需要更多)
---
## 常见问题
**Q: 打包后的 atlas 在游戏引擎中能正常使用吗?**
A: 完全可以。输出的 `.atlas` + `.png` 格式与 Spine 官方导出完全一致,Unity Spine 插件、Cocos2d-x、Godot 等引擎均可直接加载。
**Q: 图片太多一张图集放不下怎么办?**
A: 工具会自动创建多张图集,输出为 `atlas_1.png`、`atlas_2.png` 等文件,每张图集都有对应的 `.atlas` 描述文件。
**Q: 裁剪透明边缘后图片位置会偏移吗?**
A: 不会。工具在 `.atlas` 文件中精确记录了 `orig`(原始尺寸)和 `offset`(偏移量),游戏引擎会根据这些信息正确还原精灵位置。
**Q: 支持哪些图片格式输入?**
A: 目前支持 PNG 格式(含透明通道),这是 Spine 的标准精灵格式。

百度网盘下载:
链接: https://pan.baidu.com/s/1B_RHGVKFINC1w5xXkvwyew 提取码: 2t5f
蓝奏云下载地址:
https://net188.lanzout.com/b009huurrc 密码:fp8k
|