Wallpaper Engine 资源提取速成手册:单行命令打通 PKG 解包与 TEX 转图全流程
2026/8/20 9:13:12 网站建设 项目流程

Wallpaper Engine 资源提取速成手册:单行命令打通 PKG 解包与 TEX 转图全流程

【免费下载链接】repkgWallpaper engine PKG extractor/TEX to image converter项目地址: https://gitcode.com/gh_mirrors/re/repkg

面对一堆.pkg.tex结尾的文件,任何看图软件都会束手无策。这正是 Wallpaper Engine 资源提取的核心难题:壁纸项目被整体打包进 PKG 封装,图像素材又以压缩的 TEX 纹理存放,双重封装让常规工具无从下手。开源命令行工具 RePKG 专为破解这一局面而生——解包、转图、重建项目,全部由单行命令完成。本文面向想整理素材库、二次修改壁纸的玩家,从格式原理讲到批量实战,全程可直接照做。

先弄清两个概念:PKG 封装与 TEX 纹理分别是什么

Wallpaper Engine 的每个壁纸项目通常由三部分组成:scene.pkg(内含脚本、图片、音频等全部资源)、project.json(项目元数据,记录标题与预览图路径)、preview.jpg(预览缩略图)。其中 PKG 是自定义容器格式,把众多文件按目录结构打包成单个文件。

TEX 则是 Wallpaper Engine 专用的纹理格式,像素数据采用多种编码:未压缩的 RGBA8888、RG88、R8,以及 DXT1/DXT3/DXT5 等压缩编码(对应源码中的 TexFormat 枚举)。压缩编码换来的是体积优势,代价是常规软件一概无法识别。RePKG 的价值正在于此:它逆向还原了两种格式的完整规范,把"无法识别"变成"开箱即用"。

它的四项核心能力:

  • 解包 PKG,按原始目录结构还原全部文件
  • 把 PKG 还原成可重新导入 Wallpaper Engine 的完整项目
  • 将 TEX 纹理转为 PNG,动图壁纸可还原为 GIF
  • 不解包即可查看包内条目与项目信息

三分钟完成环境搭建并跑通第一次解包

前置条件只有一个:已安装 .NET SDK。仓库目标框架为 .NET Framework 4.7.2,Windows 上编译最顺畅;其他平台需具备对应的 .NET 运行环境。克隆并构建:

git clone https://gitcode.com/gh_mirrors/re/repkg cd repkg dotnet build

构建完成后,可执行文件位于RePKG/bin/DebugRePKG/bin/Release(Windows 下为RePKG.exe)。把它复制到固定目录并加入系统 PATH,之后便可在任意位置直接调用repkg

挑一个创意工坊壁纸(路径形如steamapps/workshop/content/431960/项目ID/scene.pkg),执行最基础的提取命令:

repkg extract "scene.pkg"

这条命令依次完成三件事:解析 PKG 内部结构 → 将全部条目按包内路径原样写入当前目录的output文件夹 → 把 TEX 条目自动转成 PNG,并为每个纹理额外生成一份.tex-json信息文件。命令行输出Done后,打开output目录即可看到完整素材。⚡ 想跳过纹理转换、只取原始文件?加--no-tex-convert即可。

如果只想先了解包内有什么,不急着提取:

repkg info -e "scene.pkg"

-e(printentries)会把所有条目的路径与字节大小逐行列出。拿不准参数时,不带参数运行repkg或对子命令加--help即可查看完整选项说明。

Wallpaper Engine 资源提取的三种实战场景:单文件、整项目与批量归档

场景一:整包提取并还原可导入项目。extract后追加-c-n

repkg extract -c -n "scene.pkg"

-c(copyproject)会把 PKG 同目录下的project.json与预览图一并复制进输出目录;-n(usename)让输出子文件夹以project.json中的壁纸标题命名,而不是一串数字 ID。提取结果可直接通过 Wallpaper Engine 的"从文件夹导入"重新加载。

场景二:只收集图片类资源。整包提取常带出大量脚本与配置,仅想收图时用-e(onlyexts)限定扩展名:

repkg extract -e tex,png,jpg -s -o ./pics "scene.pkg"

-e只提取指定类型,-s(singledir)将所有文件平铺进同一目录,-o自定义输出位置。反向过滤则改用-i(ignoreexts)跳过指定类型。

场景三:批量归档整个创意工坊目录。创意工坊按项目 ID 分文件夹存放壁纸,逐一手工处理效率太低。RePKG 允许直接传入目录并配合-r(recursive)递归搜索:

repkg extract -r -c -e tex,png,jpg,mp3,wav -o ./my-library "E:\Steam\steamapps\workshop\content\431960"

一条命令即可完成全部 PKG 的解包、转换与归档。注意-c配合目录输入时才会按项目还原各自结构。

TEX 转图片的独立流程与包内信息速查

如果手头只有散落的 TEX 文件,不必重走 PKG 流程。-t(tex)参数把输入当作"含 TEX 的目录"处理:

repkg extract -t -s -o ./converted "某目录"

该命令扫描目录下所有.tex,逐一转成 PNG 并生成.tex-json,追加-r可扩展为递归扫描;单个.tex文件同样可以直接作为extract的输入。

动图壁纸也有对应方案:RePKG 读取帧信息容器中的宽高、坐标与帧延迟数据,重新拼装并输出为 GIF 文件,逐帧素材不再需要手工合成。

info子命令还能做项目级信息查询:

repkg info -p "*" "scene.pkg" repkg info -p "title,preview" "scene.pkg"

前者转储project.json全部字段,后者只取指定键;--title-filter按标题过滤,配合目录输入可快速定位目标项目。✅ 建议在归档前先用info过一遍,避免重复提取。

高频报错排障:四个常见坑的定位与解法

坑一:重复提取提示 Skipping, already exists。现象是第二次运行同一命令时大量文件被跳过。原因是 RePKG 默认不覆盖已存在文件,这是防止误覆盖的保护机制。解决办法:清空旧输出目录,或加--overwrite强制覆盖。

坑二:抛出 Unknown magic 异常。现象是工具直接中断。原因是文件格式不匹配——输入的不是 Wallpaper Engine 生成的 PKG/TEX,或文件下载不完整。解决办法:确认文件来自创意工坊且完整下载,再核对扩展名,不要拿其他软件的打包文件硬试。

坑三:把-t当成解包目录的开关。现象是想解包某目录下的 PKG 却加-t,结果什么都没发生。原因在于-t的语义是"把输入目录当作 TEX 来源",与解包 PKG 是两条独立路径。解决办法:解包用默认模式(不加-t),转换 TEX 时才加-t

坑四:处理大文件时内存吃紧。现象是转换超大型纹理时进程占用飙升。解决办法:先用--no-tex-convert把资源原样提取出来,再单独执行转换:

repkg extract --no-tex-convert "大型项目.pkg" repkg extract -t -s -o ./converted ./output

延伸阅读与反馈

想深入理解格式细节,源码是第一手资料:命令行入口与全部参数定义在 RePKG/Command/,PKG 的解包与写入实现位于 RePKG.Application/Package/,TEX 转换链路(解码、压缩、拼帧)集中在 RePKG.Application/Texture/,数据模型与接口契约则定义在 RePKG.Core/,其中Tex.csTexToImageConverter.cs是理解 TEX 格式的最佳起点。

遇到工具本身的问题,可在仓库的 Issues 区反馈,作者在 README 中明确表示欢迎提交错误报告("Feel free to report errors")。如果你对 TEX 格式的压缩细节感兴趣,不妨从TexMipmapDecompressorDXT两个类入手,亲手读一遍纹理解码的完整过程;也欢迎在评论区聊聊你的素材工作流,共同把这套工具链用得更好。

【免费下载链接】repkgWallpaper engine PKG extractor/TEX to image converter项目地址: https://gitcode.com/gh_mirrors/re/repkg

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询