快速完成Wallpaper Engine壁纸资源提取:RePKG解包与TEX转PNG完整指南
【免费下载链接】repkgWallpaper engine PKG extractor/TEX to image converter项目地址: https://gitcode.com/gh_mirrors/re/repkg
想从 Wallpaper Engine 的壁纸包里拿走那张背景图,却发现右键菜单里根本没有"导出素材"?PKG 是封装容器,TEX 是引擎专用纹理,普通看图软件一个都认不出。开源命令行工具 RePKG 就是为这件事而生的:一条命令解开 PKG 封装,顺手把 TEX 纹理转成 PNG 或 GIF,还能把 project.json 等项目文件一并带出,方便改完重新导入。下面从跑通工具到批量管理素材库,把常用命令一次讲完。
先搞清楚 RePKG 能做什么
RePKG 是一个用 C# 编写的开源逆向工具,核心能力就四个:
- 解开 PKG 封装:把壁纸包里的全部条目按原始目录结构落盘
- TEX 转通用图片:静态纹理转 PNG,动画纹理(sprite sheet 形式的 GIF 序列帧)直接还原成 GIF
- 顺带输出纹理元数据:每张图旁生成
.tex-json文件,记录格式、尺寸、是否 GIF 等参数 - 只读透视:不落地任何文件,直接打印包内条目清单和 project.json 里的信息
它的源码结构很直白:extract 命令实现 负责拆包与转图,info 命令实现 负责透视,纹理解析逻辑集中在RePKG.Application/Texture/目录下,想深入格式细节可以从RePKG.Core/Texture/开始读。
获取工具:克隆并构建
前提是本机装有 .NET SDK(或 .NET Framework 4.7.2 运行时)。打开终端执行:
git clone https://gitcode.com/gh_mirrors/re/repkg cd repkg dotnet build这条命令拉取源码并编译解决方案,跑完后可执行文件会出现在RePKG/bin/的输出目录里。把该目录加入 PATH(或直接记住路径),之后任何位置都能调用repkg命令。整个过程几分钟,不会有什么坑。
首次提取:一个 .pkg 变成一摞图片
壁纸包一般在 Steam 创意工坊内容目录下,steamapps/workshop/content/431960/里每个数字文件夹是一个项目,其中的.pkg就是资源包。对着单个文件执行:
repkg extract "scene.pkg"这条命令会依次做三件事:解析包结构、把每个条目写出到当前目录的output子目录、并把其中的 TEX 条目转换成 PNG(动画纹理转 GIF)。跑完你会看到类似这样的日志:
### Extracting package: .../scene.pkg * Extracting: materials/background.tex * Extracting: project.json * Reading: materials/background.tex Done打开 output 目录,PNG 可以直接预览、直接当素材用,原始 .tex 也保留在旁边以备不时之需。
动手前先透视:info 命令怎么用
批量操作前,建议先花十秒看看包里有什么,避免拆出一堆没用的文件:
repkg info -e -s "scene.pkg"-e打印包内全部条目(含字节大小),-s让清单按名称排序。如果想读项目本身的元信息,用-p指定 project.json 中的字段:
repkg info -p title,type -e "scene.pkg"它会输出这个壁纸的标题和类型。先看清单再提取,是处理陌生包时的稳妥习惯。--title-filter参数还支持按标题关键词过滤,批量目录下找特定项目时很有用。
批量管理:把创意工坊目录变成素材库
这是 RePKG 最能体现价值的用法——直接对整个工坊内容目录做递归提取:
repkg extract -c -r -n -o ./我的壁纸库 "E:\Steam\steamapps\workshop\content\431960"这条命令做了三件事:-r递归扫描所有子目录里的 PKG;-c把包旁边的 project.json 和预览图一并复制出来(这样输出目录能直接当壁纸项目重新导入);-n用 project.json 里的壁纸标题给每个项目命名文件夹,而不是一串数字 ID。-o指定输出位置。跑完你就得到一套按壁纸名称整理好、图片可直接预览的素材库。
如果只需要图片素材、不想层层嵌套目录,可以这样只挑纹理并平铺输出:
repkg extract -e tex,png,jpg -s -o ./图片素材 "某个壁纸.pkg"-e只提取指定扩展名,-s把所有文件平铺进单一目录。另外,对于已经拆出来的散 .tex 文件(不在 PKG 里),可以直接按目录批量转图:
repkg extract -t -s "E:\path\to\dir\with\tex\files"常用参数速查
| 参数 | 作用 |
|---|---|
-o/--output | 输出目录,默认./output |
-e/--onlyexts | 只提取指定扩展名(逗号分隔) |
-i/--ignoreexts | 跳过指定扩展名 |
-s/--singledir | 全部文件平铺到单一目录 |
-r/--recursive | 递归搜索子目录 |
-c/--copyproject | 复制包旁的 project.json 和预览图 |
-n/--usename | 用 project.json 的标题命名项目文件夹 |
-t/--tex | 按 TEX 目录模式批量转图 |
--no-tex-convert | 只拆包,不做纹理转换 |
--overwrite | 覆盖已存在的输出文件 |
想修改后重新导入,闭环很简单:repkg extract -c -n "原壁纸.pkg"→ 用 PS 改图、编辑 project.json → 在 Wallpaper Engine 里"从文件夹导入",指向含 project.json 的目录即可。
遇到问题时:三个高频报错
- 报 "Unknown magic":文件不是 Wallpaper Engine 的 PKG,或下载不完整。创意工坊来源的一般没问题,优先检查文件是否完整。
- 转换后图片颜色/通道异常:部分 TEX 使用了特殊的颜色通道排列(比如 R8、RG88 这类非 RGBA 格式)。先跑
repkg info看格式信息,再决定是否需要换输出方式。 - 重复执行提示 "Skipping, already exists":RePKG 默认不覆盖已有文件,这是防误写的设计。确认要重来就加
--overwrite。处理超大项目内存吃紧时,可以--no-tex-convert先拆包、之后再单独转图,分两步走更稳。
建议先挑一个小型壁纸把 extract 跑通,再用 info 摸清几个包的结构,最后对整个工坊目录做批量提取——从单包到素材库,RePKG 覆盖的正是"拿回本属于自己的壁纸资源"这一整条链路。
【免费下载链接】repkgWallpaper engine PKG extractor/TEX to image converter项目地址: https://gitcode.com/gh_mirrors/re/repkg
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考