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

资讯详情

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

把 Wallpaper Engine 壁纸拆开重做:RePKG 解包与 TEX 转换实战

把 Wallpaper Engine 壁纸拆开重做:RePKG 解包与 TEX 转换实战 把 Wallpaper Engine 壁纸拆开重做RePKG 解包与 TEX 转换实战【免费下载链接】repkgWallpaper engine PKG extractor/TEX to image converter项目地址: https://gitcode.com/gh_mirrors/re/repkgSteam 创意工坊里躺着一款你心仪的壁纸画面精美、动效流畅可你只是想改掉右下角那行水印文字却连素材都摸不到。Wallpaper Engine 的壁纸资源被封在 PKG 容器里核心纹理用的是自家 TEX 格式普通看图软件一概不认。RePKG 正是为此而生的开源命令行工具它负责解开 PKG 容器、把 TEX 专有纹理转成 PNG 等通用图片格式让壁纸资源真正变成你能编辑、搬运、复用的素材。先认识两个不友好的格式PKG 可以理解成一个没有压缩的集装箱——它把壁纸的场景配置、纹理、音频、预览图按目录结构打包在一起只是平时你只能隔着箱子看打不开。TEX 则是 Wallpaper Engine 的私有纹理格式内部像素可能以 DXT1、DXT3、DXT5 等 GPU 压缩方式存储也可能直接存 RGBA 原始像素甚至是一整组用于动态壁纸的 GIF 帧序列。好消息是RePKG 的作者把这些格式逆向得明明白白你不需要懂任何底层细节只要会用它的两个命令extract解包与转换和info查看信息。把工具请进门项目是 C# 写的目标框架 .NET 6.0先确认本机装好了 .NET 6 或更高版本然后拉取源码编译git clone https://gitcode.com/gh_mirrors/re/repkg cd repkg dotnet build RePKG.sln编译产物在RePKG/bin/Debug/net6.0/下把里面的可执行文件重命名成repkg并加入 PATH或者干脆在目录里直接调用。验证一下repkg help能看到extract、info、help、interactive几个命令工具就绪。interactive是个彩蛋——输入repkg interactive可以进入交互式控制台一条条敲命令适合边试边学。第一次解包从壁纸到一堆文件找一张下载好的壁纸比如scene.pkg直接解包repkg extract scene.pkg不加任何参数时输出目录默认是当前目录下的./output。打开看看里面是按 PKG 内部路径还原的文件结构project.json场景配置、main.tex主纹理、preview.jpg预览图、可能还有音频。整个过程快得几乎没有存在感一条命令就完成了 Wallpaper Engine 壁纸资源提取。有一点值得注意解包时 TEX 文件默认会被顺带转换成图片保存同时还会为每个 TEX 生成一份.tex-json信息文件里面记录了纹理的宽高、格式、mipmap 数量等元数据。如果你只想拿原始素材、不要转换结果用--no-tex-convert关掉即可。让 TEX 开口说话专有纹理转成 PNGTEX 转图片是 RePKG 最核心的价值。单个 TEX 文件可以直接喂给它repkg extract texture.tex -o ./converted转换格式是自动判断的原始像素RGBA8888、R8、RG88会输出无损 PNG如果是动态壁纸的帧序列则会重组成带帧延时的 GIF 动图。DXT 压缩纹理内部会被先解压再输出你拿到的始终是能直接打开的成品。笔者建议转换前先用info看一眼纹理信息尤其是分辨率和格式免得解压出一个巨大无比的 PNG 才发现原始纹理只是张 128×128 的小图。动手前先侦察用 info 看清包里有什么解包前先摸清家底是好习惯info就是干这个的repkg info scene.pkg -e-e列出包内所有条目及字节大小。配合排序参数可以快速找出最占空间的资源repkg info scene.pkg -e -b size-b支持按name、extension、size三种维度排序。如果你管理的壁纸很多还能用--title-filter按标题过滤或者用-p title,description直接从旁边的project.json里抽取指定字段——适合写脚本批量盘点素材库。把整个创意工坊搬回家批量处理组合拳散落在创意工坊目录里的壁纸有上百个一个一个处理不现实。RePKG 支持直接传入目录配合-r递归搜索所有子目录repkg extract -c -n -r E:\Steam\steamapps\workshop\content\431960 -o D:\wallpaper_library这里有两个参数值得单独说。-c会把 PKG 旁边的project.json和preview.jpg一并复制进输出目录-n则用project.json里的壁纸标题作为子文件夹名而不是默认的作品 ID。组合效果是每个壁纸得到一整个可运行的壁纸工程文件夹文件夹名字还是人能看懂的中文标题而不是一串数字。对 Linux/macOS 用户Shell 脚本同样顺手find $HOME/.steam/steamapps/workshop/content/431960 -name *.pkg -exec repkg extract {} -c -n -o ./library \;只拿想要的按扩展名挑选文件有些场景下你只想要图片或者只想排除音频。-e只提取和-i忽略两个参数就是为此设计的扩展名用逗号分隔# 只要图片类资源 repkg extract scene.pkg -e png,jpg,tex -o ./images_only # 不要音频 repkg extract assets.pkg -i mp3,wav -o ./no_audio再叠加-s把所有文件摊平到一个目录忽略包内原有路径适合把素材一股脑倒进素材管理软件的场景repkg extract wallpaper.pkg -s -o ./flat_output几个容易绊脚的细节输出目录默认是./output。每次解包都会把文件写进当前目录下的output多次执行会互相混杂。批量任务务必显式指定-o否则第二天你会发现资源散落一地。同名文件默认跳过。重复解包时已存在的文件会被直接略过日志里出现一行Skipping, already exists。如果素材有更新加上--overwrite强制覆盖。转换格式不是你想选就能选。有些教程会教你-f jpg --quality 90这类参数但 RePKG 实际没有——输出格式由 TEX 内部存储格式决定raw 像素出 PNG帧序列出 GIF。想得到 JPG 就转换后用图片工具再压一遍别在命令行上白费功夫。中文路径别担心但要注意引号。路径含空格时必须用引号包住这是命令行基本功却也是新手报错的高发区。下一步拿你收藏里最想改的那张壁纸开刀现在你已经掌握了 RePKG 的完整使用链条info侦察 →extract解包 → 编辑素材 →-c -n重组工程。最直接的练手方式是挑一张你一直想魔改的壁纸解包后找到它的主纹理用任意图像编辑器把那个碍眼的水印抹掉再放回原路径——你会发现曾经封闭的壁纸资源此刻已经全部攥在自己手里了。【免费下载链接】repkgWallpaper engine PKG extractor/TEX to image converter项目地址: https://gitcode.com/gh_mirrors/re/repkg创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表