这个项目能做什么

Ark-Unpacker 是一款面向《明日方舟》游戏资源的批量解包工具,使用 Python 编写,采用 BSD-3 开源协议。项目当前版本为 v5.2,作者已预告将逐步迁移到功能更完整的 ArkStudio 平台,本项目在迁移完成后会终止更新。 主要功能 1. 批量解包《明日方舟》Unity AssetBundle(AB)文件中的游戏资源对象。支持游戏版本 v2.5.04 及以上的特殊解压算法;解包时可区分基建小人、动态立绘和战斗小人的 Spine 模型文件;可按源 AB 文件名分目录存放导出结果。 2. 批量合并 RGB 通道图与 Alpha 通道图。 3. 批量解码 FlatBuffers 数据文件。 4. 同时提供交互式命令行界面和直接命令行调用两种操作方式。 支持导出的资源类型包括:Sprite(PNG)、Texture2D(PNG)、AudioClip(WAV)、TextAsset(文本或字节数据)、Mesh(OBJ)、TypeTree(JSON)。 使用流程 使用前需要先获取游戏资源文件。安卓端资源分为安装包内的 assets/AB/Android 目录和热更新产生的 Bundles 目录两部分,合并覆盖后得到完整资源;PC 端则从鹰角启动器安装目录的 Arknights_Data 下获取 StreamingAssets/AB/Windows 初始资源与 PersistentData/Bundles 热更新资源。仓库内提供了资源查找指南文档,帮助定位特定资源所在的 AB 文件。 程序提供 Windows 64 位可执行文件,可从 Releases 页面下载。将待解包文件夹与程序放在同一目录后运行即可进入交互式界面。 工作模式 - 一键执行:解包程序所在目录中的文件并执行图片合并,导出到 Unpacked_xxxx 与 Combined_xxxx 文件夹。文档提醒不建议用它解包整个游戏资源目录,以免耗时过长、占用资源过多。 - 自定义资源解包:指定输入输出路径并选择资源类型。 - 自定义图片合并:合并指定路径中的 RGB 图与 Alpha 图。 - 自定义文本数据解码:解码指定目录中的数据文件。 - 自定义 Spine 模型导出:导出 Spine 动画小人模型。 - 自定义 Criware USM 音视频提取:从 USM 文件中提取音视频。 - ArkModels 与 ArkVoice 提取分拣工具:定制功能,需参阅专门文档。 命令行用法 程序支持通过参数直接调用,模式参数 -m 可选 ab(解包)、cb(图片合并)、fb(FlatBuffers 解码)、sp(Spine 解析)、cu(USM 解析);输入输出用 -i 与 -o 指定;-d 可先删除已存在的输出目录;解包模式下可用 --image、--text、--audio、--spine、--mesh、--typetree 选择导出类型,-g 按源 AB 文件名分组;USM 模式可用 --no-video、--no-audio 跳过相应处理;-l 设置日志级别(0 至 4)。不带 mode 参数运行时进入交互式界面。 注意事项 一键执行模式不会解包直接位于程序目录中的 AB 文件,只处理子文件夹内的文件。程序会根据 CPU 核心数自动调整多进程策略,对 CPU 与硬盘性能有一定要求,配置较低的设备运行可能较慢。运行后会在工作目录生成配置文件 ArkUnpackerConfig.json 与日志文件 ArkUnpackerLogs.log。仓库还提供了配置文件指引、必备知识(RGB 通道图与 A 通道图、Spine 动画小人)以及开发者指引等文档。