烘焙和打包内容

烘焙和打包内容

在 Unreal Engine 编辑器中完成 Mod 资源后,可以通过烘焙(Cooking)编译资源。本指南分别介绍 UE4 的 UnrealPak 和 Chunk 两种流程,以及 UE5 的 Chunk 分配与打包。

对于使用 IoStore 的游戏,先在 Edit → Project Settings → Packaging 中确认 Use Io Store 已勾选,再继续后续步骤。

UE4:使用 UnrealPak

选择 File → Cook Content for Windows。

在 UE4 中烘焙 Windows 内容

烘焙完成后,可在项目的 Saved 文件夹找到内容:

ProjectName\Saved\Cooked\WindowsNoEditor\ProjectName\Content\...

根据创建的资源,将需要的文件复制到 Mod 文件夹,再使用 UnrealPak 打包。文件夹结构与具体操作见 UnrealPak 打包指南。

UE4:使用 Chunk

也可以将特定资源打包进预设 Chunk。这种方法无需 UnrealPak,速度较快,但只能打包编辑器中的内容,因此不适合将已修改或已烘焙的资源合并到同一个 Mod。

Chunk 分配方式与下面的 UE5 流程相同。分配完成后,选择 File → Package Project → Windows。

UE5:手动分配 Chunk ID

先在 Edit → Editor Preferences 中搜索 chunk,启用 Allow ChunkID Assignments。然后右键需要烘焙的资源,选择 Asset Actions → Assign to Chunk。

将资源分配到 Chunk

弹窗中可输入 0 至 300 的值。选择非零且游戏尚未使用的 ID;可以查看游戏的 Paks 文件夹作为参考。选择资源后点击 Audit Assets,可再次检查其 Chunk ID。

UE5:通过 Data Asset 批量分配

此方法可为同一文件夹内的全部或指定资源分配 Chunk。右键创建资源,选择 Miscellaneous → Data Asset。

创建 Data Asset

在列表中选择 PrimaryAssetLabel。

选择 PrimaryAssetLabel

打开新建的 Data Asset,设置以下选项:

  • 将 Priority 设为 1。
  • 将 Chunk Id 设为 0 至 10,000 中的值。
  • 仅在希望打包全部文件及其父对象时设置 Apply Recursively。
  • 将 Cook Rule 设为 Always Cook。
  • 如果需要打包同一目录的所有文件,设置 Label assets in My Directory。
  • 如只需要特定资源或蓝图,可以在 Explicit 部分手动指定。

注意检查范围:Data Asset 可能打包目录中的所有内容,需要限定文件时应明确指定。

设置 PrimaryAssetLabel

打包 UE5 项目

在编辑器顶部选择 Platforms → Windows → Package Project,然后选择构建目录,例如项目中的 Build 文件夹。

通过 Platforms 菜单打包 UE5 项目

烘焙完成后,在以下目录查找分配到 Chunk 的结果:

\ProjectName\Build\Windows\ProjectName\Content\Paks

将构建目录中的三个文件复制到游戏 Paks 文件夹,按需重命名,并确保三个文件的名称都以 _P 结尾,例如 myMod_P。

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