
CP2077 纹理合并器
将多个材质包合并为一个.archive文件,自动解决它们之间的冲突——同时提供手动逐文件控制,以便您自行决定任何冲突的处理方式。
查看大图[url=https://github.com/zakkusufair/cp2077-texture-merger]https://github.com/zakkusufair/cp2077-texture-merger[/url]
该工具是开源的,此页面上的下载内容仅包含这些文件,别无其他:
仓库: [url=https://github.com/zakkusufair/cp2077-texture-merger]https://github.com/zakkusufair/cp2077-texture-merger[/url]
此构建版本: [url=https://github.com/zakkusufair/cp2077-texture-merger/releases/tag/v2026.07.30-r52]https://github.com/zakkusufair/cp2077-texture-merger/releases/tag/v2026.07.30-r52[/url]
描述
当您同时运行多个纹理大修模组时,它们不可避免地会覆盖相同的文件,而游戏只会使用最后加载的那个模组——加载顺序决定一切,质量并不重要。此工具会获取一个包含纹理 .archive 模组的文件夹,并将它们构建成一个合并包:每当两个包涉及相同的纹理时,它会比较实际图像并保留更好的那个。它的所有决定都会写入一份报告,您不同意的任何部分都可以手动覆盖。
下载前须知:
- 这个工具是我为自己制作的,我只是分享出来。它按“原样”提供。没有任何承诺,也没有路线图。
- 我不是程序员。代码是由 AI 助手(Anthropic 的 Claude Fable)在我的指导下编写的;我设计了行为,在真实的合并(数千个冲突)上测试了每个版本,并且已经把它弄坏过足够多次,现在可以信任它了。但仍然是——爱好工具,不是商业产品。
- 没有图形界面,将来也不会有。它在控制台窗口中运行并询问几个问题(路径、模式)。如果黑底白字的窗口让您无法接受,那么这个工具不适合您。
[img]https://staticdelivery.nexusmods.com/images/3333/281919916-1785968420.jpg[/img]
要求——请阅读,没有它们将无法工作
- Python 3.10 或更新版本 — https://www.python.org/downloads/ 安装时,务必勾选“将 Python 添加到 PATH”复选框。大多数“什么都没发生”的抱怨都是因为这个复选框没勾选。
- WolvenKit CLI — https://github.com/WolvenKit/WolvenKit/releases 您需要控制台版本(包含 WolvenKit.CLI.exe 的那个),不是常规的 WolvenKit GUI 应用程序。工具会要求您提供该 .exe 的路径。已在 8.19 版本上测试。
您还需要安装一份《赛博朋克 2077》(该工具需要游戏路径来正确解包纹理)。所需的 Python 库会在首次启动时自动安装——无需其他设置。
磁盘空间和时间——请提前规划 该工具会解包每个模组,将冲突的纹理转换为 PNG 以便实际查看,暂存获胜者并打包结果。运行期间,预计需要约输入模组大小 4-5 倍的空闲磁盘空间。
在一次真实合并中测量:15 GB 的模组需要大约 69 GB 的工作空间,并在冷缓存下不到一个小时内完成——大部分时间花在转换图像而不是做决定上。对相同模组的重复运行会快得多,因为分析结果会被缓存。 之后,temp 和 temp_png 工作文件夹可以被删除;工具会在结束时询问您是否删除它们。
它实际做了什么
- 根据真实图像质量而非加载顺序选择获胜者:先看分辨率;在分辨率相同时,由清晰度和细节丰富度决定。
- 识别常见的伪造品。它能识别出纸面上是 4K 但内部是单一颜色的扁平占位纹理、放大到巨大尺寸但没有真实浮雕的法线贴图、保存时纵横比错误的纹理,以及仅仅文件很大的文件。文件名中的大数字在这里赢不了任何东西。当安全机制可能过度干预时,该情况会在报告中标记出来供您查看,而不是被静默决定。
- 保持材质一致性:材质文件(.mi/.mltemplate)通过检查它们引用了哪些纹理来选择,因此材质始终与真正获胜的纹理匹配。
- 不会静默丢失任何东西。每个冲突及其结果都会写入文本报告;摘要会准确显示每个包对合并的贡献,并警告那些不应逐文件合并的包(例如,由同一位作者制作的网格+纹理集合)。
- 可视化 HTML 报告:获胜者和失败者并排显示为缩略图,并带有筛选器,方便您找出值得人工查看的案例。法线贴图可渲染查看(蓝色通道已重建)。每个失败变体下方都有一个复选框——勾选您偏好的项,按一个按钮,工具的覆盖文件就会为您生成。
- 手动覆盖(overrides.txt):为任何特定文件强制指定您自己的获胜者。您的选择在重新运行时依然有效。
- 适合大任务:结果会被缓存(重新运行很快),中断的运行会从断点继续而不是重新开始,还有仅分析模式用于快速检查“会有什么变化?”而无需重建压缩包,以及可选的完整性检查,在随机样本上逐字节验证打包的压缩包。
- 可选的作者优先级(config.json),用于在完全平局时优先使用您信任的包。
[img]https://staticdelivery.nexusmods.com/images/3333/281919916-1785968691.jpg[/img]
您的模组和您的游戏文件永远不会被改动
该工具读取您的模组压缩包和游戏文件夹,并将它产生的所有内容写入您选择的输出文件夹。它不会在该文件夹之外安装、修补或删除任何内容。在您看到合并包在游戏中正常工作之前,请保留您原始的 .archive 模组。
使用方法(简短版)
- 将下载的文件解压到任意位置。
- 将您想要合并的 .archive 模组放入一个文件夹。
- 运行 run.bat 并回答问题(它会记住您的答案以供下次使用)。
- 从输出文件夹中取出 merged_files.archive,如果您愿意可以重命名,然后放入 ...\Cyberpunk 2077\archive\pc\mod —— 它会替换原始冲突的模组。
- 可选:在运行结束时构建 HTML 报告,查看标记的冲突,勾选您的覆盖项,然后在分析模式下重新运行。
完整手册(README.txt)包含在压缩包中,涵盖了工具询问的每个问题、报告的每个标记以及它生成的每个文件。
[img]https://staticdelivery.nexusmods.com/images/3333/281919916-1785968748.jpg[/img]
如果您的杀毒软件报警
一些杀毒软件会一看到 .bat 文件就标记它。run.bat 只做三件事,而且它的全部 52 行代码都向您公开可读:它检查 Python 是否已安装,从 PyPI 安装三个知名库(Pillow, numpy, tqdm),然后启动 merge_textures.py。只有那次 pip install 才会接触网络——不会下载其他任何东西,也不会向任何地方发送任何数据。
如果您想完全跳过 .bat 文件,这两行命令可以完成相同的工作:
python -m pip install -r requirements.txt
python merge_textures.py
已知限制
- 按设计仅限控制台。没有计划提供 GUI。永远。
- 合并是逐文件进行的。对于网格和纹理构成一个匹配集合(在角色/身体大修模组中很常见)的模组,应整体使用或完全不用——工具会检测并警告此类包,但不会智能地拆分它们。
- 对大包进行首次运行需要一些时间(纹理需要解包和分析);后续运行会重用缓存,速度会快得多。
- 已在装有 WolvenKit CLI 8.19 的 Windows 10 上测试。其他设置可能也能用,但请参阅上面的“按原样”声明。
鸣谢
- WolvenKit 团队——此工具驱动 WolvenKit CLI 来执行所有解包、转换和打包工作。没有他们的工作,这个工具就不会存在。
- 代码由 Claude(Anthropic 的 AI 助手)编写;行为由我设计和测试。
- CD PROJEKT RED——为了这款游戏。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。