如何用 RePKG 快速解包 Wallpaper Engine PKG 并转换 TEX 纹理
【免费下载链接】repkgWallpaper engine PKG extractor/TEX to image converter项目地址: https://gitcode.com/gh_mirrors/re/repkg
RePKG 是一款用 C# 编写的 Wallpaper Engine 命令行工具,帮你提取 PKG 包里的文件、把 TEX 纹理转成可查看的图像、不解包就列出包内内容。手头有 Workshop 壁纸想拆解或复用的话,几条命令就能上手。
🚀 快速开始:构建并运行第一条命令
读完这一节,你会得到一个可执行的 RePKG.exe,并能确认它正常运行。
RePKG 目标是 .NET Framework 4.7.2,建议在 Windows 上构建和运行(Win10 自带该运行时)。三步完成:
克隆仓库到本地:
git clone https://gitcode.com/gh_mirrors/re/repkg编译 Release 版本,产物在 RePKG\bin\Release\net472\ 目录:
cd repkg && dotnet build RePKG.sln -c Release如果 dotnet build 报缺少引用程序集,改用 Visual Studio 2019 打开 RePKG.sln 构建,或运行仓库自带的 Publish.bat。
运行 help 验证安装:
RePKG\bin\Release\net472\RePKG.exe help执行后会列出 extract、info 等全部命令;对某个命令加引号可看它的参数,例如help "extract"。
核心命令逐个讲
RePKG 有 extract、info、interactive 三个入口,日常操作集中在前两个。
extract:解包 PKG 文件并转换 TEX
最常用的单文件解包命令:
RePKG.exe extract scene.pkg -o ./out # -o 指定输出目录,默认 ./output执行后控制台逐行打印* Extracting: 文件路径,结束输出 Done。PKG 内的 TEX 文件会原样写出,同时生成转换后的图片和一个 .tex-json 元数据文件(记录尺寸、格式等信息)。
关键参数:
-e, --onlyexts=tex:只提取指定扩展名的条目,逗号分隔-s, --singledir:所有文件平铺到同一目录,忽略包内原路径-c, --copyproject:把 PKG 同目录的 project.json 和预览图一并复制到输出目录--no-tex-convert:只解包,不转换纹理--overwrite:覆盖已存在的文件,默认是跳过(控制台显示* Skipping, already exists)
info:不解包,先查看包里的内容
最常用的条目清单命令:
RePKG.exe info scene.pkg -e # -e 打印包内条目输出形如* scene\texture.png - 12345 bytes,每条包含相对路径和字节数。解包前先跑一遍,可以判断包里的资源类型和体积,避免全盘提取。
关键参数:
-s -b size:排序条目,-b可选 name、extension、size--title-filter=关键词:输入目录时,只处理 project.json 标题含该关键词的包
interactive:交互式输入命令
RePKG.exe interactive执行后在终端逐行输入命令即可执行,比如输入extract scene.pkg,每行独立解析。适合一次性处理多个文件、不想重复敲完整路径的情况。
🖼️ 场景化用法
每个小节对应一个目标,命令可直接复制执行。
只提取并转换包里的纹理
RePKG.exe extract scene.pkg -e tex -s -o ./tex只处理 TEX 条目,转换后平铺到 ./tex 目录,其余资源一概跳过。
把整个文件夹的 TEX 批量转成图片
RePKG.exe extract -t -s ./textures # -t 批量转换目录中的 TEX目录下每个 .tex 都生成同名图片和 .tex-json;加-r会递归子目录。
把 Workshop 目录生成可编辑的壁纸项目
RePKG.exe extract -c -n -o ./projects .\content\123RePKG 在子目录中找到每个 PKG 并解包,同时复制 project.json 和预览图;-n用 project.json 里的 title 作为项目文件夹名,生成的目录可直接用 Wallpaper Editor 打开。
按大小找出包内的大文件
RePKG.exe info scene.pkg -e -s -b size按字节数排序输出条目,适合快速定位占体积的贴图或模型。
❓ 常见问题
提示 "Input file not found"先确认路径和扩展名:文件必须是 .pkg 或 .tex。如果传的是目录且没加-t,RePKG 按 PKG 目录处理,只在其子目录里找 .pkg,空的直接目录不会有任何输出。
提示 "Failed to read texture" 或 "Failed to write texture"先加-d看完整报错:RePKG.exe extract scene.pkg -d。该工具支持 LZ4 解压、DXT1/3/5 解码,以及 RGBA8888、RG88 等原始像素格式(会自动转成 PNG);遇到它不认识的像素格式会输出此错误,其余文件不受影响。
重新执行命令后输出还是旧文件默认行为是跳过已存在的文件,控制台会显示* Skipping, already exists: 路径。确认这一行后,加--overwrite强制重新提取即可。
加了 -c 但没复制 project.json-c 要求 project.json 与 PKG 文件位于同一目录,且-s模式下不复制。先检查 PKG 所在目录是否真的有这两个文件。
Linux 或 macOS 上 RePKG.exe 无法运行可执行文件针对 .NET Framework 4.7.2,是 Windows 平台产物;跨平台需要借助 Mono 运行,最省事的方式是在 Windows 环境构建和使用。
📋 速查表
| 场景 | 命令 | 说明 |
|---|---|---|
| 解包单个 PKG(含纹理转换) | extract scene.pkg -o ./out | TEX 转图片并附 .tex-json |
| 只提取纹理 | extract scene.pkg -e tex -s -o ./tex | 平铺输出,忽略原路径 |
| 批量转换目录中的 TEX | extract -t -s ./textures | 加-r递归子目录 |
| 生成可编辑壁纸项目 | extract -c -n -o ./projects .\dir | 附带 project.json 与预览图 |
| 查看包内文件清单 | info scene.pkg -e -s -b size | 按大小排序 |
| 逐条输入命令 | interactive | 交互式模式 |
想进一步了解格式解析逻辑,可以看 RePKG.Application/Package/PackageReader.cs 中的 PKG 读取实现,以及 RePKG.Application/Texture/TexMipmapDecompressor.cs 中的 LZ4 与 DXT 解码实现;命令行参数的定义在 RePKG/Command/ 目录下。参数面不大,记住 extract 的 -e、-s、-c 与 info 的 -e、-b 的组合,就能覆盖绝大多数资源处理场景。
【免费下载链接】repkgWallpaper engine PKG extractor/TEX to image converter项目地址: https://gitcode.com/gh_mirrors/re/repkg
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考