创建 Pak 文件

创建 Pak 文件

本指南适用于 Content/Paks 文件夹内没有 .ucas 或 .utoc 文件的游戏;该文件夹仍可能包含 .pak、.sig 或其他文件。这里介绍如何使用 UnrealPak 或 repak 将 Mod 文件打包成 .pak,再放入游戏目录。

选择打包工具

UnrealPak 是 Unreal Engine 自带的命令行工具,也可以单独使用。可下载 FluffyQuack 提供的 UnrealPak,其中附带方便调用的批处理脚本。

repak 是第三方命令行工具,通常速度较快,支持设置挂载点和 Pak 版本等功能,但使用起来略复杂。两者都可以尝试;repak 的安装方法见 repak 提取指南。也可以使用 repak_wrappers,其操作方式与下文 UnrealPak 脚本类似。

使用 UnrealPak 时,解压下载的文件,并准备一个用于存放脚本、Mod 文件夹和输出 Pak 的目录。

UnrealPak 脚本和 Mod 文件夹示例

准备 Mod 文件夹

无论使用哪种工具,都需要建立与原文件匹配的文件夹结构:

Modname_P\GameName\Content\...

将 Modname 替换为 Mod 名称,确保文件夹名称以 _P 结尾;GameName 替换为游戏的二进制名称。后续目录层级应与 FModel 或 UModel 中显示的原始游戏路径一致。例如:

\NewTex_P\Ghostrunner\Content\Visual\Characters\Hero_Swords\Mat\Tex
\ExampleMod_P\GameName\Content\Example

把需要覆盖或添加的文件复制到相应文件夹。若资源由 UE 编辑器编译,也要复制希望包含在 Mod 中的文件。覆盖原文件时,路径和文件名都必须与原文件一致。

Mod 文件夹内的资源示例

执行打包

使用 UnrealPak 时,把 Mod 文件夹拖到 UnrealPak-With-compression.bat 上;片刻后会生成同名 Pak 文件。

通过 UnrealPak 批处理脚本打包

使用 repak 时,在包含 Mod 文件夹的目录中运行:

repak pack <mod directory to pack>

可加 -v 显示打包路径,或通过 --compression <method> 指定压缩方式;运行 repak pack -h 查看支持的格式。原指南推荐 gzip、zlib 和 zstd。如果游戏无法加载压缩包,可以尝试不压缩。例如:

repak pack -v --compression Gzip Modname_P

安装到游戏

找到游戏的 Paks 文件夹,常见路径如下:

...\GameName\GameName\Content\Paks

将生成的 Pak 文件复制进去,按需重命名,并确保名称以 _P 结尾,例如 myMod_P.pak。

可选:处理 Sig 文件

原指南指出,如果游戏使用 UE4.27 或更低版本,且原 Pak 旁有 .sig 文件,需要复制该 Sig 并改名,使其与自定义 Pak 同名。例如原目录包含:

Grip-WindowsNoEditor.pak
Grip-WindowsNoEditor.sig

Mod 名为 mod_P.pak 时,复制原 Sig 并命名为 mod_P.sig:

Grip-WindowsNoEditor.pak
Grip-WindowsNoEditor.sig
mod_P.pak
mod_P.sig

原文来源:Dmgvol / UE_Modding:UnrealPak.md。