FastPackGUI - 免费纹理打包工具
FastPackGUI - 免费纹理打包工具 - 测试版
功能不全、可能问题不少。自用够了所以没有全面测试所有功能! - 有部分功能是预留得
遇到什么问题请留言给我,当然也不第一时间就看得到,逛博客园的时间非常少。

下载地址:https://fbio.lanzout.com/iBkEg45lj7bi
自定义数据格式导出器
把一个
.json定义文件(可带一个同目录同名.scriban模板文件)放进程序目录的Resources\exporters,
重新启动软件,该格式会自动出现在“数据格式”下拉列表里。
一个导出器由两份文件组成
每个导出器是一个 *.json 定义 + 一个 *.scriban 模板(模板文件可内联在 json 里,见下)。
例如 csv.json:
{
"id": "csv", // 唯一ID(下拉框内部值,不能重复)
"name": "CSV (逗号分隔)", // 下拉框里显示的名字
"extension": "csv", // 输出文件扩展名(不含点)
"templateFile": "csv.scriban" // 同目录下模板文件名;也可改为内联 template 字段
}
csv.scriban(用{{ }} / {% %} 语法渲染整份文件):
name,x,y,w,h
{% for rect in rects %}{{ rect.name }},{{ rect.frame.x }},{{ rect.frame.y }},{{ rect.frame.w }},{{ rect.frame.h }}
{% endfor %}
字段说明
| 字段 | 必填 | 含义 |
|---|---|---|
id |
是 | 唯一标识 |
name |
否 | 下拉框显示名称,缺省用 id |
extension |
否 | 输出扩展名,缺省 txt |
templateFile |
否 | 同目录 .scriban 模板文件名 |
template |
否 | 内联的模板内容;若同时给了 templateFile 则忽略 |
templateFile与template二选一即可。推荐用文件形式,方便保存 JSON 转义。
模板里能用的数据
模板顶层有三个对象:
rects - 精灵列表(可 {% for rect in rects %} 循环)
config - 当前图集/导出配置
appInfo - 程序信息
config 全局变量
| 变量 | 含义 |
|---|---|
{{ config.imageWidth }} {{ config.imageHeight }} |
图集宽高 |
{{ config.scale }} |
缩放倍率 |
{{ config.format }} |
像素格式 |
{{ config.imageName }} |
纹理文件名(去扩展名) |
{{ config.imageFile }} |
纹理文件名(含扩展名) |
rect 精灵变量(在 {% for rect in rects %} 里用)
| 变量 | 含义 |
|---|---|
{{ rect.name }} |
精灵名称 |
{{ rect.rotated }} |
是否旋转(true/false) |
{{ rect.trimmed }} |
是否裁剪(true/false) |
{{ rect.frame.x }} {{ rect.frame.y }} {{ rect.frame.w }} {{ rect.frame.h }} |
在图集上的位置/尺寸(hw/hh 为半宽/半高) |
{{ rect.spriteSourceSize.x }} … .w .h |
原图内容区域 |
{{ rect.sourceSize.w }} {{ rect.sourceSize.h }} |
原图原始尺寸 |
{{ rect.pivot.x }} {{ rect.pivot.y }} |
轴心点 |
循环辅助
{% for rect in rects %} 中可用 for.first、for.last、for.index 处理分隔符。
例如 {% if !for.first %},{% endif %} 会让每项之间插入逗号。
想新增自己的格式:复制一个 json 和一个 scriban 文件,改 id/name/extension 与模板内容即可。

浙公网安备 33010602011771号