ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

RePKG 使用指南:一步解压 Wallpaper Engine PKG 包并转换 TEX 纹理为图片

RePKG 使用指南:一步解压 Wallpaper Engine PKG 包并转换 TEX 纹理为图片 RePKG 使用指南一步解压 Wallpaper Engine PKG 包并转换 TEX 纹理为图片【免费下载链接】repkgWallpaper engine PKG extractor/TEX to image converter项目地址: https://gitcode.com/gh_mirrors/re/repkgRePKG 是一个用 C# 编写的命令行工具专门用于解压 Wallpaper Engine 的 PKG 资源包并把 TEX 纹理转换成常见图片格式。适合想整理壁纸收藏的人以及需要检查、复用包内资源的开发者。快速上手安装 RePKG 并跑通第一条命令RePKG 发布的是一个单文件可执行程序不需要安装任何运行时依赖。先克隆仓库git clone https://gitcode.com/gh_mirrors/re/repkg克隆后进入目录运行仓库自带的Publish.bat需要 Visual Studio 的命令行环境它会在Publish文件夹里打出一个单独的RePKG.exe和RePKG.zip复制到哪里就能在哪里用。拿到程序后对任意一个 PKG 文件执行repkg extract scene.pkg -o ./output这条命令把scene.pkg里的所有条目解压到./output目录。你会看到控制台逐条打印* Extracting: 文件路径其中每个 TEX 纹理除了原文件还会多生成一张转换后的图片和一份.tex-json元数据文件。处理完打印Done。功能拆解解压 PKG 资源包repkg extract 命令详解PKG 是 Wallpaper Engine 的打包格式里面的资源平时看不到也拿不到。extract命令负责把它们全部取出来并支持按扩展名过滤repkg extract -e png,tex -s E:\Games\steamapps\workshop\content\123-e png,tex表示只提取扩展名为 png 和 tex 的文件用逗号分隔多个-s表示所有文件平铺到一个目录不保留包内的路径结构。如果你输入的是目录而不是单个文件RePKG 会自动找到该目录下的所有 PKG 逐个处理加-r则可以递归搜索所有子文件夹。把 TEX 纹理转换成 PNG 和 GIF 图片TEX 是 Wallpaper Engine 的纹理格式里面有原始像素数据RGBA8888、R8、RG88也有 DXT1/3/5 压缩数据直接用图片软件打不开。RePKG 会在解压时自动转换原始像素格式统一输出为 PNG带动画帧的纹理按帧合成输出为 GIF。单独批量转换一个目录里的 TEX 文件repkg extract -t -s E:\path\to\dir\with\tex\files-t表示把输入目录中的所有 TEX 文件转成图片结果连同各自的.tex-json描述文件一起存到./output。每张转换后的图片尺寸、格式等信息都写在对应的 json 里方便你核对。把 PKG 还原成 Wallpaper Engine 项目很多壁纸包在 Workshop 里的project.json配置文件是加密的拿不到明文。RePKG 可以把包旁边未加密的project.json和预览图一起复制出来拼成一个能直接打开的本地项目repkg extract -c -n E:\Games\steamapps\workshop\content\123-c把每个 PKG 旁边的project.json和preview.jpg复制到输出目录-n用配置文件里的名称而不是数字 id作为子文件夹名。产物存放在./output/项目名/下纹理、配置、预览图齐全放进 Wallpaper Engine 的项目目录即可加载。查看包内容repkg info 命令详解不想解压、只想看看包里有什么用info命令。它只解析包的文件头不解压数据几乎不占磁盘repkg info -e scene.pkg --title-filter Ocean-e打印包内每个条目的路径和字节数--title-filter Ocean只处理标题包含该关键词的项目没有project.json的包不受影响。加-p title,author还可以只输出配置文件中指定的字段-b size让条目按大小排序方便定位包里的大块头。真实场景走一遍壁纸收藏整理从整个 Workshop 目录批量提取 TEX假设你的 Workshop 内容目录E:\Games\steamapps\workshop\content\123下有几百个壁纸项目每个项目是一个子文件夹里面有xxx.pkg、project.json、preview.jpg你只想把所有纹理转成图片存起来。repkg extract -e tex -s -o D:\tex_output E:\Games\steamapps\workshop\content\123这条命令的逐条含义-e tex只提取 TEX 条目其他文件全部跳过-s让所有文件平铺到D:\tex_output这一个目录里不按原路径分散-o D:\tex_output指定输出位置。跑完后你会得到一个全是图片的扁平目录每张图旁还有一份.tex-json记录来源格式和尺寸方便后续二次处理。已存在的文件默认跳过不会覆盖你之前转换的结果想覆盖就加--overwrite。开发流水线批量重建可编辑的壁纸项目如果你是开发者想把 Workshop 里的壁纸改一改再发布就需要每个包都带上project.json和预览图组成合法的项目结构。repkg extract -c -n D:\projects E:\Games\steamapps\workshop\content\123-c负责复制每个 PKG 旁边的project.json和preview.jpg-n让输出文件夹用项目名命名而不是难记的数字 id。执行后D:\projects下会生成一个子文件夹对应一个壁纸项目内部结构解压出的纹理TEX 已转成图片 配置文件 预览图。把这些文件夹拷进 Wallpaper Engine 的projects目录每个都能作为独立项目打开和编辑。它凭什么快/稳先读索引表再按需取数。PKG 的文件结构是一段魔数标识紧跟着条目索引表每个条目记录文件路径、数据偏移量和长度之后才是文件数据本体。RePKG 的解析器见 RePKG.Application/Package/PackageReader.cs先完整读取索引表再按偏移量逐个定位数据块。这带来一个直接的好处info命令只读索引表就能列出整个包的内容和每个文件的大小不需要把数据区搬进内存GB 级的包也能快速报数。核心逻辑与格式处理分层隔离。项目拆成三个部分RePKG.Core只定义数据模型和接口RePKG.Application实现解析与格式转换RePKG只是命令行入口。格式支持集中在一个枚举里维护原始像素格式 3 种RGBA8888、R8、RG88、DXT 压缩格式 3 种、外加 BMP、JPG、PNG、TGA、GIF、DDS 等几十种通用图片格式。这意味着新增一种格式或修复一个解析 bug改动范围被限制在 Application 层的一个文件内而不是散落各处。常见问题支持哪些 TEX 格式原始像素数据RGBA8888、R8、RG88会被统一转换成 PNG 输出TEX 内部本身就是 BMP、JPG、PNG 这类图片格式的按原格式保存带多帧动画的纹理会逐帧裁切、拼接后输出为 GIF。目前暂不支持 DXT 压缩纹理的转图遇到会直接报错而不是静默跳过。不解压就能查看包内容吗可以。repkg info -e 文件.pkg只解析文件头的索引表打印每个条目的完整路径和字节数配合-b size按大小排序、--title-filter按标题过滤几秒钟就能摸清一个大包的结构磁盘上不留任何产物。只想提取部分文件怎么办用extract的--onlyexts-e和--ignoreexts-i按扩展名过滤两者都是逗号分隔的列表比如-e png,json只留图片和配置。注意info命令的-e是另一个含义打印条目列表别混用。结语RePKG 把PKG 解压和TEX 转图两件事做进了一个约百 KB 的单文件程序里命令不多但每个都够用extract干活info查账-c还你项目配置。仓库提供了交互式模式运行repkg interactive和完整的测试用例遇到问题可以直接对照源码报 issue。【免费下载链接】repkgWallpaper engine PKG extractor/TEX to image converter项目地址: https://gitcode.com/gh_mirrors/re/repkg创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表