5 分钟上手 repkg:把打不开的 Wallpaper Engine 资源包变成能用的图片
【免费下载链接】repkgWallpaper engine PKG extractor/TEX to image converter项目地址: https://gitcode.com/gh_mirrors/re/repkg
某个周末,你从创意工坊收藏了一款好评如潮的动态壁纸,画面里星云缓缓旋转。你突发奇想,想抠出那张星云原图当手机壁纸。可翻遍下载目录,等你的只有两个陌生文件:scene.pkg和texture.tex。双击,系统弹出"你想如何打开这个文件";装上各种看图软件逐个尝试,要么乱码,要么干脆被拒绝。这种打不开的抓狂,正是开源小工具 repkg 存在的理由——它专门解包 Wallpaper Engine 资源包,并把里面的 TEX 贴图转成 PNG 这类通用图片。
理解 repkg 之前,先给这两个文件安个身份:.pkg像一个晒干的核桃壳,把壁纸的全部素材牢牢锁在里面;.tex是核桃仁上那层苦涩薄衣,包着真正的图片。repkg 就是那把核桃夹——咔嚓一声夹开外壳,再帮你把薄衣也剥掉,露出可以直接入口的核桃仁。
值不值得装?先看它能替你省下什么
- 两把锁一把钥匙:既能拆
.pkg资源包,也能单独把.tex贴图转成图片,一条命令通吃两种格式。 - 转换零操作:解包时遇到贴图顺手就转成 PNG,你不需要安装任何图像处理软件。
- 批量扫荡:扔给它一个文件夹,上百个壁纸包一口气处理完,不用一个个手动来。
- 精准挑选:只想要贴图、不想要模型脚本?一句话筛选,多余的一律不碰。
- 完整还原工程:连同配置文件和预览图一起导出,解出来的文件夹能直接重新导入 Wallpaper Engine。
5 分钟跑通第一个解包结果
先把工具请进你的电脑
打开终端,输入下面这行命令:
git clone https://gitcode.com/gh_mirrors/re/repkggit clone的作用,是把整个项目的源码从远程仓库复制到本地。之所以要先拉源码,是因为 repkg 是开源项目,需要你亲手编译——这既是它免费的原因,也是它完全透明的底气。命令跑完,当前目录下会多出一个repkg文件夹。
编译一次,生成可执行文件
cd repkg dotnet build RePKG.sln -c Releasecd repkg是进入项目文件夹;dotnet build是 .NET 官方的编译命令,把源代码变成真正能运行的程序;RePKG.sln是整个项目的解决方案文件,一条命令就把所有子项目一起编好;-c Release表示生成经过优化的正式版本,运行更快。编译前请先装好 .NET SDK,Windows 用户还需要 .NET Framework 4.7.2 或更高版本。看到编译成功的提示后,可执行文件就在RePKG/bin/Release/目录里。
跑出你的第一个成果
把壁纸包和可执行文件放在同一目录,然后执行:
repkg extract 星空.pkg -o ./outputextract是提取子命令,后面紧跟要处理的文件;-o ./output把结果保存到当前目录下的output文件夹。屏幕上的输出大致是这样:
### Extracting package: 星空.pkg * Extracting: materials/textures/星空.png * Reading: materials/textures/星空.tex Done看到Done就说明成功了。✅ 打开output文件夹:里面既有从包里拆出来的原始文件,也有顺手转换好的 PNG 图片,每张贴图旁边还配了一份.tex-json元数据文件,记录尺寸、格式等参数,方便你日后查证。
四个高频需求的实战组合
包里文件太杂,我只想挑出贴图
一个壁纸包里往往混着模型、脚本、贴图各种文件,你只需要其中几张素材图。这时用-e参数精准过滤:
repkg extract 星空.pkg -e "tex,png" -o ./textures-e全称--onlyexts,后面用英文逗号列出你想要的扩展名,其余文件一概不碰。反过来,如果你想排除某几类文件,用-i(--ignoreexts)表示"除了这些都不要"。最终textures文件夹里只有贴图相关文件,拿去直接用,省得在一堆杂物里翻找。
上百个壁纸包要一次搞定,还能直接回导
收藏夹里躺着几百个壁纸包,一个个手动解包会累到怀疑人生。让 repkg 自己扫目录:
repkg extract -r -c ./wallpapers -o ./all_projects-r(--recursive)让工具钻进wallpapers的所有子文件夹,把每个.pkg都翻出来;-c(--copyproject)会顺带复制壁纸的project.json配置和preview.jpg预览图。解完的all_projects里按壁纸 ID 分好了文件夹 📂,每个都是一套完整工程,直接就能重新导入 Wallpaper Engine。想用壁纸标题代替 ID 命名?追加一个-n参数即可。
手头只有一堆 .tex,想批量变成 PNG 素材
没有.pkg包、只有散落的.tex文件的情况也很常见——比如你从旧项目里翻出了当年导出的贴图。这时切换到 TEX 专用模式:
repkg extract -t -s ./tex_files -o ./png_output-t(--tex)告诉工具"这个目录里全是 TEX,请全部转成图片";-s(--singledir)让所有结果平铺在同一个输出目录,不保留原来的子目录层级。跑完后png_output里是一张张可直接使用的 PNG,每张旁边都有配套的.tex-json信息文件。若中途提示文件已存在,加上--overwrite强制覆盖旧文件即可。
动手前先给资源包做个"体检"
有些包体积大得离谱,你想先确认里面到底装了什么、值不值得解,再决定动不动手。用info命令:
repkg info 星空.pkg -e -sinfo是只读的体检子命令,不改动任何文件;-e(--printentries)打印包内所有条目的完整路径和字节数;-s(--sort)让清单按名称排好,看着整齐。想按大小排序,追加-b size;想看看壁纸标题、作者这类工程信息,追加-p "*"一次全部输出。体检完再决定要不要解包,心里有底多了。
新手高频报错的对症下药
问:提示 "Input file not found",可文件明明就在眼前?
多半是路径写错了,或者文件不在终端当前的目录里。先敲pwd看看自己站在哪个文件夹,再把文件直接拖进终端窗口,让系统自动补全完整路径,最稳妥。
问:报错 "Unknown magic",解包失败?
这是文件头校验没通过:要么文件下载损坏,要么它压根不是有效的 TEX/PKG。正规的 TEX 文件头应以TEXV0005开头,用十六进制编辑器瞄一眼就能确认。确认文件来源可靠,重新下载后再试。
问:转换出来的图片颜色发暗、发紫?
不少贴图带透明通道(Alpha),个别查看器对带 Alpha 的图片显示不正常,图本身没坏。换一个支持透明通道的看图工具,或者换一种输出格式试试,颜色就正常了。
问:我只想保留原始文件,不想让它自作主张转图?
解包时加--no-tex-convert,工具就只把包里的文件原样保存,不做任何格式转换。想重跑一遍、覆盖旧结果,则用--overwrite。
更进一步:读源码与写脚本
到这里,日常操作你已经门儿清了。想再往深走一步,有两条现成的路。
一是读源码。项目按RePKG.Core(核心数据模型)、RePKG.Application(读写与转换逻辑)、RePKG(命令行界面)三层组织。从Program.cs读起,你能完整看到一条命令从输入到输出的旅程:解析参数、交给 extract 或 info、读包、拆条目、转贴图、落盘。读懂这三层,你就理解了"分层设计"是怎么让一个工具保持清爽的。
二是写脚本。把批量解包和批量转图两条命令组合进一个 shell 脚本,就能搭出你自己的流水线——下载壁纸、自动解包、自动转图、生成报告,一气呵成。以后每次想整理素材,跑一遍脚本就行。
最后说点心里话。repkg 帮你拆开的是文件的壳,壳里面的素材往往凝结着原作者的心血。提取素材用于学习、交流、二次创作都没问题,但请务必尊重原创作者的版权。开源世界的迷人之处在于接力:你免费拿到手的每一行代码,都有人深夜维护;而你报出的一个 bug、写出的一个脚本,就是递给下一棒的礼物。祝你拆包顺利,创作自由。
【免费下载链接】repkgWallpaper engine PKG extractor/TEX to image converter项目地址: https://gitcode.com/gh_mirrors/re/repkg
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考