使用 UAssetGUI 编辑资源

使用 UAssetGUI 编辑资源

UAssetGUI 提供图形界面,用于查看和修改 Unreal Engine 资源文件。本指南介绍默认值编辑、JSON 往返转换,以及向资源数组添加引用的方法。基础示例已改为中性示意,实际字段和路径以目标资源为准。

可从 UAssetGUI 发布页面获取工具。先使用 FModel 找到需要修改的资源并导出,通常得到 .uasset 和 .uexp 两个文件。

修改默认值

用 UAssetGUI 打开 .uasset。蓝图默认变量通常位于名称以 Default__ 开头的 Export 中;找到目标属性、修改值并保存。工具会自动生成 .bak 备份,确认不再需要后可自行删除。最后根据游戏的打包格式,参考 UnrealPak 打包指南处理修改后的文件。

通过 JSON 编辑

也可以在 UAssetGUI 中选择 File → Save As,将资源保存为 .json。JSON 可编辑资源结构;修改并保存后,再用 UAssetGUI 打开 JSON,保存为普通 .uasset 文件。

UAssetGUI 将资源保存为 JSON 的操作

向数组添加条目

除了编辑、替换或删除现有元素,还可以通过 JSON 添加原资源中没有的新条目。以下是原指南的关卡列表示例:先导出资源,使用 UAssetGUI 打开并保存为 JSON。请通过 UAssetGUI 保存;原指南指出 FModel 导出的 JSON 为只读用途。

添加新条目需要四步:添加 NameMap 引用、添加 Imports 引用声明、调整 Generations 的 NameCount,并向目标数组添加元素。

添加 NameMap 引用

NameMap 包含已使用的引用。原例在 NameMap 末尾追加以下三行;在追加前,注意给原末项补上逗号:

JSON 文件中的 NameMap 引用列表

"/Game/UI/CombatSimulator/Missions/UNUSED/Mission_Horde_Killstation",
"Default__Mission_Horde_Killstation_C",
"Mission_Horde_Killstation_C"

这些标识是原教程资源中的实际名称,并非适用于所有游戏的通用路径。

在 JSON 的 NameMap 中添加引用

添加 Imports

找到 Imports,在末尾添加 Package、Blueprint 和 Class 三项声明。对象名称对应前面添加的三个 NameMap;OuterIndex 指向三项中的第一个 Import。原例最后已有的 Import 索引是 -122,因此新 Package 索引为 -123,Blueprint 和 Class 声明引用该索引。

资源 JSON 中的 Imports 部分

在 Imports 中添加资源声明

调整 NameCount 并添加数组项

在 Generations 中,将 NameCount 按新增引用数量增加。原例增加了 3 项,得到 135。

NameCount 数值调整

图片取自原仓库历史版本。 接着搜索 CombatSimulatorMissions 数组,复制第一个元素,将其值改为指向刚添加的 BlueprintGeneratedClass。

原例的索引是 -124:原末项为 -122,新 Package 为 -123,紧随其后的 BlueprintGeneratedClass 为 -124。实际索引必须按自己的资源重新计算。

编辑关卡列表数组

保存和打包

保存 JSON 并用 UAssetGUI 打开。若没有错误,可在 NameMap、ImportData 和实际数组中核对新条目及其指向,然后保存以生成更新的 .uasset 和 .uexp。最后按需要使用 UnrealPak、repak 或 retoc 打包。

在 UAssetGUI 中检查添加的数组条目

来源:Dmgvol 原教程。