复制蓝图结构(Dummying)

复制蓝图结构(Dummying)

在 UE4/5 Mod 制作中,可以创建与游戏现有蓝图变量和结构相匹配的替身蓝图,以便访问或操作游戏中的变量。本文介绍如何用这种方法访问角色蓝图中的变量。

来源:Dmgvol / UE_Modding 原文。

这里的复制(replication)指资产替身或仿制,与多人游戏的网络复制无关。

找到目标蓝图

本例复制玩家角色蓝图中的一个 float 值。先在 FModel 中找到该值。原文提示:在 UE5 中,可能会看到 Double,对应 UE5 中的 float。

在 FModel 中找到变量

查看蓝图的 SuperStruct,确认其基类;本例是 Character。

查看蓝图的 SuperStruct

在虚幻引擎中创建替身

  1. 在 UE 项目中创建与 FModel 所示位置完全相同的文件夹结构。
  2. 新建一个 Character 类型蓝图,并将其命名为与游戏文件中完全一致的名称。
  3. 再次核对文件夹路径是否一致。

创建 Character 蓝图

核对蓝图名称与文件夹

新建变量,名称必须与 FModel 显示的名称完全一致。本例中变量名为 NormalJumpVelocity,类型为 float。部分变量使用非原生类型,可能需要先复制对应的其他结构,才能正确设置其类型。

创建相同名称和类型的变量

在 Mod 中使用

打开 Mod 蓝图并访问该变量。本例可先获取玩家角色对象,再将其转换(Cast)为相应的角色蓝图类型,从而访问变量。

从玩家角色访问目标变量

这个方法并不限于变量,也可用于方法、委托、其他资产、蓝图组件乃至 C++ 头文件。

打包注意事项

不要将复制出来的替身资产打包,否则可能覆盖游戏原始文件。只打包 Mod 自身的蓝图文件。