这是一个基于 kiikkuab/SiglusFgimageBatchMerge 的 Rust 重构版本,用于自动化处理 Siglus 引擎游戏中的立绘合成,本项目使用 Summer Pocket 的偏移量数据。
- 📊 多线程并行处理,显著提升处理速度
- 🔄 自动识别并处理不同距离和长度模式的立绘
- 📁 按角色和距离自动分类保存输出文件
- 📝 可通过 JSON 配置文件自定义角色配置
- 📈 友好的命令行进度显示
- 已经使用 GARBro 等工具将游戏中的 .g00 文件解码为 .png 文件
- 有基础知识了解 Siglus 引擎的立绘组成方式(表情+身体部分)
# 克隆仓库
git clone https://github.com/iceyear/SiglusFgimageBatchMerge-Rust.git
# 进入项目目录
cd SiglusFgimageBatchMerge-Rust
# 编译
cargo build --release./siglus_fgimage_batch_merge --distance a --length a| 参数 | 短参数 | 说明 | 默认值 |
|---|---|---|---|
--distance |
-d |
距离模式: 1=远距离, 2=普通, 3=近距离, a=全部 | a |
--length |
-l |
长度模式: y=长版, n=普通版, a=两者都要 | a |
--part-folder |
部分图像文件夹路径 | ./G00/ |
|
--g00-folder |
g00文件文件夹路径 | ./g00-origin/ |
|
--output-folder |
输出文件夹路径 | ./output/ |
|
--config-file |
角色配置文件路径 | characters_dict.json |
程序需要以下目录结构才能正常工作(可修改源码以适应您的需求):
项目目录
├── G00/ (存放解码后的PNG图像文件)
├── g00-origin/ (存放原始g00文件,用于获取偏移量)
├── output/ (输出目录,自动创建)
└── characters_dict.json (角色配置文件,首次运行自动创建)
程序使用 JSON 格式的配置文件来定义角色关系。首次运行会自动创建默认配置,您可以根据需要修改:
{
"sr_f01": ["0101", "0102", "0201", "0202", "0301", "0302", "0401"],
"sr_f02": ["0103", "0203", "0303"],
"sr_f12": ["13"],
"sr_f21": ["21", "22"]
}键为身体部分代码,值为该角色可用的表情代码列表。
- 程序根据配置的距离模式和长度模式搜索匹配的图片
- 使用原始 g00 文件获取偏移量信息
- 根据偏移量合并表情和身体部分图片
- 将结果保存到输出目录,按角色和距离分类
- Summer Pocket 的立绘偏移量数据与原始项目可能有所不同
- 确保拥有足够的磁盘空间用于存储输出图像
- 大量图片处理可能需要较长时间,请耐心等待
- 如遇到特定角色的合成问题,可尝试调整配置文件
- kiikkuab/SiglusFgimageBatchMerge - 原始项目
- Summer Pocket - 唯有那片炫目,未曾忘却。
本项目基于 MIT 许可证开源 - 详见 LICENSE 文件