尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

从 PKG 到 PNG:用 RePKG 完成 Wallpaper Engine 资源提取与 TEX 格式转换

从 PKG 到 PNG:用 RePKG 完成 Wallpaper Engine 资源提取与 TEX 格式转换 从 PKG 到 PNG用 RePKG 完成 Wallpaper Engine 资源提取与 TEX 格式转换【免费下载链接】repkgWallpaper engine PKG extractor/TEX to image converter项目地址: https://gitcode.com/gh_mirrors/re/repkg深夜朋友发来一条求助消息我订阅的那个动态壁纸配色要是能改成深色调就好了。我打开 Steam 创意工坊的订阅目录找到那个壁纸的专属文件夹——里面躺着一个.pkg文件旁边还有几张以.tex结尾的图片。双击图片系统弹出无法打开此文件拖进看图软件同样不认。那一刻我明白了想改一个壁纸得先过格式这一关。这正是无数 Wallpaper Engine 玩家共同的处境壁纸明明下载到了本地素材却像被锁在保险柜里。.pkg是 Wallpaper Engine 的资源打包格式所有图像、脚本、配置都被塞进这一个文件.tex是它私有的纹理格式普通软件一概不识别。想提取、想修改、想备份都无从下手。好在有一款叫RePKG的开源工具专门解决这件事。它是用 C# 写成的 Wallpaper Engine 资源提取与格式转换工具核心能力就两句话解开 PKG 封装把 TEX 纹理还原成 PNG 或 GIF。下面我就从自己的踩坑经历说起带你把它用起来。没有它之前大家是怎么折腾的在没有这类工具的日子里想拿到壁纸里的原始素材基本只有三条路十六进制硬啃用十六进制编辑器打开 PKG对照网上零散的格式笔记一个字节一个字节地猜哪个是文件名、哪个是数据段。运气好能翻出几张图运气不好一下午就搭进去了。通用解包工具轮番试拿各种压缩包/资源解包工具去硬解 PKG十有八九直接报格式不支持偶尔解出东西也是乱码目录。截图凑合用壁纸播放时按截图键把想要的画面截下来。图是有了但分辨率受屏幕限制透明通道、动画帧全部丢失根本没法二次创作。这些办法的共同问题是麻烦、易错、不可复用。每换一个壁纸同样的流程得再来一遍。RePKG 的做法一条命令两件事一起办RePKG 的思路很简单——既然格式是被逆向研究过的那就让程序替人干活。它同时解决了解包和转码两个环节读取 PKG 内部结构把每个条目按它在包里的路径还原成真实文件识别出其中的 TEX 纹理自动解压LZ4 压缩、DXT1/3/5 等压缩格式都能处理再转成通用图片格式。而且它不止提取——配合-c参数它还能把 PKG 连同旁边的project.json、预览图一起还原成一个完整的 Wallpaper Engine 项目文件夹意味着提取出来的东西可以直接重新导入使用。工具是命令行程序名字就叫repkg一共两个主命令extract提取/转换和info查看包和纹理的信息。三步上手从下载到跑出第一张 PNG第一步拿到程序环境里装好 .NET SDK 后克隆源码并编译git clone https://gitcode.com/gh_mirrors/re/repkg cd repkg dotnet build编译产物在RePKG/bin/下把repkgWindows 下是RePKG.exe放进 PATH或者直接用完整路径调用都可以。第二步跑第一条提取命令repkg extract 我的壁纸.pkg这一条命令做了四件事你基本不用操心在当前目录下创建output文件夹解析 PKG 内部结构把每个文件按包内路径还原出来遇到 TEX 纹理自动转成 PNG 存到同目录是动画纹理的话会转成 GIF 输出。第三步用 info 命令体检提取之前可以先给文件做个体检看看包里到底装了什么repkg info -e 我的壁纸.pkg-e会列出包内所有条目及各自大小相当于先看菜单再点菜。几个真正常用的参数一次讲清extract的参数不少但日常高频的就下面这几个我按使用频率排了序参数作用典型用法-e只提取指定扩展名的文件-e tex,png只要图片类-i跳过指定扩展名的文件-i mp3,wav不要音频-s所有文件平铺到一个目录不保留包内路径整理素材时很好用-r递归搜索子文件夹里的所有 PKG批量处理整目录-c把旁边的 project.json 和预览图一起复制出来还原成可导入的项目-n用 project.json 里的标题作为输出文件夹名代替默认的数字 ID--no-tex-convert只解包不做纹理转码文件太大时的降载方案-o指定输出目录-o ./素材库info命令也值得记两个-p *可以导出 project.json 里的全部字段--title-filter能按壁纸标题过滤批量查看几百个包时非常省眼力。两个贴近日常的用法用法一把整个创意工坊订阅目录变成自己的素材库创意工坊的订阅内容都在steamapps/workshop/content/431960这个目录下不同系统盘符不同每个壁纸一个子文件夹。想一次性把所有壁纸的素材都扒出来分类归档repkg extract -r -c -e tex,png,jpg,mp3,wav -o ./素材库 \ E:\Steam\steamapps\workshop\content\431960-r让它在所有子目录里找 PKG-c带上每个壁纸的配置和预览图-e只挑素材类文件最后统一收进素材库文件夹。适合谁用想建个人素材库的壁纸收藏党、想拿现成素材练手的视觉设计初学者。这一招比逐个手动解包省下大量时间。用法二把壁纸改完再导回去想给壁纸换色、换图或者删掉某个不喜欢的功能模块流程只有三步提取成可编辑项目repkg extract -c -n 原壁纸.pkg在输出目录里动手改换掉 PNG 图片、编辑 project.json、调整脚本打开 Wallpaper Engine选从文件夹导入指向包含 project.json 的目录完事。为什么这样用-c保证项目结构完整-n让文件夹名字可读改完的目录就是一个标准壁纸项目导入即用不需要任何额外处理。新手最容易踩的三个坑坑一报错 Unknown magic看到这个错先别慌它只是说文件头不认识。八成是两种情况文件本身不是 Wallpaper Engine 的 PKG比如从别处下的同名文件或者下载不完整。从创意工坊正常订阅下来的文件一般不会出这个问题。坑二转出来的图片颜色怪怪的部分 TEX 纹理内部用的是特殊通道排列直接看图会觉得偏色。先别急着怀疑工具坏了用repkg info看看纹理的格式信息确认它是哪种压缩格式。多数情况下这只是源纹理的特性不是转换错误。坑三大项目处理到一半内存吃紧遇到体积很大的壁纸可以分两步走先用--no-tex-convert只解包不转码把原始文件落盘之后再用repkg extract -t -s单独对目录里的 TEX 做批量转码。这样每步的负载都小很多也方便定位是哪一步出问题。写在最后动手之前先想清楚三件事第一先挑简单的练手。找一个体积小的静态壁纸跑通提取—修改—导回完整链路再碰动画壁纸和复杂项目。第二批量操作前先单测一个。-e、-i这些过滤参数写错代价不大但直接对几百个文件跑错参数就麻烦了。第三守住合规边界。逆向工具是用来学习和创作的请遵守 Wallpaper Engine 的使用条款尊重原作者版权提取的素材只用于个人学习、备份或已获授权的二次创作不要拿去商用或公开传播。最后用几句话概括这个工具打动我的地方解包与转码一条命令完成中间环节全部自动化能把 PKG 还原成可直接重新导入的项目形成完整闭环过滤、递归、批量、平铺等参数齐全大规模整理素材也不怵纯命令行、无图形界面依赖脚本化批量处理很顺手格式逆向过程公开透明遇到问题也方便自行排查或反馈。从对着十六进制发呆到一条命令拿到 PNGRePKG 把 Wallpaper Engine 资源提取的门槛降到了最低。现在就找个你最喜欢的壁纸跑通第一条命令试试看吧。【免费下载链接】repkgWallpaper engine PKG extractor/TEX to image converter项目地址: https://gitcode.com/gh_mirrors/re/repkg创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表