news 2026/8/22 13:40:39

RePKG 实战指南:如何解包 Wallpaper Engine PKG 包并转换 TEX 纹理为图片

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
RePKG 实战指南:如何解包 Wallpaper Engine PKG 包并转换 TEX 纹理为图片

RePKG 实战指南:如何解包 Wallpaper Engine PKG 包并转换 TEX 纹理为图片

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

RePKG 是一个命令行工具,专门做两件事:解包 Wallpaper Engine 的 .pkg 包,以及把 TEX 纹理转成可看的图片。如果你手上有工坊下载的 .pkg 想拆出内容、想提取纹理做二次创作、或者要批量处理一整个目录的壁纸,看这篇就够了;如果你只是想在游戏里直接播放壁纸,可以跳过。

📦 能力速览

  • 解包 .pkg 文件 → 还原包内全部文件(纹理、音频、着色器、配置),保留包内目录结构
  • 解码未压缩 TEX 纹理 → PNG 图片,并同步生成 Wallpaper Engine 可直接使用的 .tex-json 元数据
  • 解码动态 TEX(sprite sheet 序列)→ 带旋转、裁剪、帧延迟的动图 GIF
  • 用 info 命令列出包内条目的路径与大小 → 不写任何文件,纯查看
  • 接受目录作为输入 → 批量处理目录下的 .pkg / .tex

🚀 三步跑通第一条命令

RePKG 编译目标是 .NET Framework 4.7.2,Windows 10 自带该运行时可以直接跑;Linux/macOS 需要用 Mono。从源码编译:

git clone https://gitcode.com/gh_mirrors/re/repkg cd repkg dotnet build RePKG.sln -c Release # 产物在 bin/Release/net472/

确认程序能正常响应,这条命令会列出全部选项,等于读了一遍手册:

RePKG.exe --help

输出里能看到extractinfo两个子命令,说明跑对了。

Linux 用户把后面所有示例里的RePKG.exe换成mono RePKG.exe即可。

现在解一个包。TEX 条目在解包时会自动转成图片:

RePKG.exe extract 路径\to\scene.pkg -o ./out # -o 指定输出目录

预期输出以Done结尾,out目录下能看到解出来的文件,就通了。

🛠️ 场景实战

快速查看包内有什么

拿到一个 .pkg 还没把握内容时,先用 info 摸底,不产生任何输出文件。

这条命令列出包内所有条目,按大小排序:

RePKG.exe info scene.pkg -e -s -b size # -e 打印包内条目列表 # -s 排序 # -b size 排序依据:name / extension / size

预期结果:

### Package info: scene.pkg Package entries: * 000/bg.tex - 9216000 bytes * 000/scene.png - 183421 bytes

进阶:如果 .pkg 旁边有 project.json(工坊目录里通常都有),可以顺带把壁纸的标题、预览等元数据打出来:

RePKG.exe info scene.pkg -p * --title-filter sunset # -p * 打印 project.json 全部字段;--title-filter 只处理标题含 sunset 的包

完整解包并自动转换 TEX

最常用的路径:把包内所有文件拿出来,TEX 纹理顺带转成能直接看的图片。

这条命令不加任何过滤,全量解包:

RePKG.exe extract scene.pkg -o ./out

输出结构保持包内路径,每个 TEX 条目会同时得到原始文件、转换图片、元数据三份:

out/ └── 000/ ├── bg.tex ├── bg.png └── bg.tex-json

注意.tex-json这个文件:它记录了 format、nomip、nonpoweroftwo、clampuvs 等字段,和 Wallpaper Engine 项目里 tex.json 的要求一致。以后要把纹理重新装回项目,缺它不行。

进阶:只想要原始文件、不做转换(比如做格式分析),加一个参数:

RePKG.exe extract scene.pkg -o ./out --no-tex-convert

转换的具体逻辑(包括动态纹理逐帧旋转、裁剪的计算)可以看 TEX 转换实现。

按扩展名筛选提取

包里两三百个文件,但你只关心纹理;或者想甩掉音频和着色器这些不需要的部分。

只提取 .tex 和 .png,并拍平到一个目录:

RePKG.exe extract scene.pkg -e tex,png -s -o ./out # -e 白名单:只提取指定扩展名的条目(逗号分隔) # -s 拍平到单一目录,不保留包内路径

预期结果:out里直接躺着一堆 .tex/.png 和转换出的图片,没有嵌套子目录。

反过来用黑名单更省事:-i --ignoreexts指定要跳过的扩展名,比如-i shd,txt跳过着色器和文本配置。

批量解包整个工坊目录

Steam 的 workshop content 目录里,每个壁纸一个文件夹,里面有 .pkg 和 project.json。想一次性把每个壁纸都建成完整项目。

递归扫描目录并逐个建项目:

RePKG.exe extract -r -c -n -o ./projects E:\Games\steamapps\workshop\content\123 # -r 递归扫描所有子目录里的 .pkg # -c 把 pkg 同目录下的 project.json 和预览图一并拷进输出 # -n 用 project.json 里的标题命名项目文件夹,而不是数字 ID

预期结果:./projects下每个壁纸一个以标题命名的文件夹,内含 project.json、预览图和全部解包资源,可以直接丢进 Wallpaper Editor 打开修改。

进阶:如果批量只想要纹理、全堆一个目录(比如做素材库):

RePKG.exe extract -r -e tex -s -o ./textures E:\Games\steamapps\workshop\content\123

PKG 文件的头、条目表、数据块是怎么解析的,见 PKG 解析实现。

单独 TEX 与 TEX 目录转换

手上已经有不在包里的 .tex 文件,要批量变成可看的图。

单个 .tex 可以直接当输入传给 extract:

RePKG.exe extract logo.tex -o ./out

这条命令会同时产出logo.pnglogo.tex-json。一整个目录用-t模式:

RePKG.exe extract -t -r 某tex目录 -s -o ./out # -t 目录模式:把目录下所有 .tex 转成图片 # -r 递归子目录

预期结果:每个 .tex 变成一张图和一份 .tex-json;动态纹理(sprite sheet 序列)会被解码成 GIF,逐帧的旋转角度、裁剪区域和帧延迟都按帧信息还原。

有一个坑要知道:当前版本只解码 RGBA8888、R8、RG88 这类未压缩像素格式以及内嵌的图片。如果纹理是 DXT1/3/5 压缩的,转换会抛Raw mipmap format must be uncompressed。这种文件不用硬转,用--no-tex-convert保留 .tex 原样塞进 Wallpaper Engine 项目即可,无损失。

⚙️ 参数速查

以下参数覆盖了 90% 的使用场景,其余保持默认即可。

参数作用何时需要调整
-o, --output输出目录(默认./output每次指定放哪
-e, --onlyexts白名单,只提取指定扩展名只要纹理/图片时
-i, --ignoreexts黑名单,跳过指定扩展名要排除音频/着色器/配置时
-s, --singledir全部文件拍平到单一目录不需要包内目录结构时
-r, --recursive递归扫描子目录输入是嵌套目录时
-c, --copyproject拷贝 project.json 与预览图要构建可再编辑的项目时
-n, --usename用 project.json 标题命名文件夹配合-c,让目录名可读
--overwrite覆盖已存在的文件重复提取被跳过机制挡住时

info命令的参数少一些:-e/--printentries-s/--sort-b/--sortby-p/--projectinfo--title-filter,用法见上面的场景。

🩺 排错

转换时报 "Raw mipmap format must be uncompressed"原因:纹理使用 DXT1/3/5 压缩,当前版本不解码压缩 mipmap。 解法:用--no-tex-convert保留 .tex 原样,直接放进 Wallpaper Engine 项目使用,无损。

转换时报 "Failed to read texture" / "Failed to write texture"原因:该 TEX 的结构不在已知格式范围内(较新版本或非标文件)。 解法:先用info 包.pkg -e确认包内容,然后把出问题的 TEX 提交给项目维护者。

重复执行 extract,输出目录没变化原因:默认行为是跳过已存在的文件。 解法:加--overwrite

提示 "Input file not found"原因:路径含空格没加引号,或路径本身写错。 解法:路径用双引号包起来再执行。

Linux 下 RePKG.exe 无法启动原因:可执行文件目标是 .NET Framework 4.7.2,只有 Windows 能直接运行。 解法:安装 Mono 后用mono RePKG.exe ...执行,或者在 Windows 上构建。

RePKG 就是干三件事的工具:PKG 解包、TEX 转换、重建可编辑的 Wallpaper Engine 项目结构,全部一条命令完成。完整参数列表和更多示例见 README.md,想动手改解析逻辑的话,入口在 RePKG.Application/。

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 13:40:03

Three.js 完全解析:构建 Web 3D 世界的强大工具

Three.js 是 Web 端 3D 开发领域的事实标准。如果说直接使用 WebGL 像是在手动绘制每一帧画面,那么 Three.js 就是为我们提供了一套强大的“游戏引擎”。它将复杂的底层图形学逻辑,封装成了直观的“场景”(Scene)、“相机”(Camera)、“灯光”(Light)和“物体”(Mesh)…

作者头像 李华
网站建设 2026/8/22 13:35:23

微前端-qiankun

微前端与 qiankun 学习笔记 一、微前端概述 微前端(Micro Frontends) 是一种将前端应用拆分成多个独立、可部署的部分的架构模式,每个部分可以由不同的团队、技术独立开发、测试、部署和维护。这种架构类似于后端的微服务,是为了应…

作者头像 李华
网站建设 2026/8/22 13:30:07

3步上手chrome-react-perf:React性能分析Chrome扩展新手入门教程

3步上手chrome-react-perf:React性能分析Chrome扩展新手入门教程 【免费下载链接】chrome-react-perf An Operation Interface for react-addons-perf Package 项目地址: https://gitcode.com/gh_mirrors/ch/chrome-react-perf chrome-react-perf 是一款专为…

作者头像 李华