根据 UHT 头文件创建类
取得 UHT 头文件后,可以在 Unreal Engine 项目中重建相关类,再在蓝图 Mod 中使用其类、变量、方法和数据对象。本指南展示一个类及其变量和方法的基本处理方式,不涵盖所有情况。
本译文将原教程的游戏事件示例改写为中性的角色属性示例;类名和技术步骤保留原文。具体字段和调用方式应以目标项目为准。
查找所需的类
先确定 Mod 要使用的类、方法和变量。查看玩家蓝图后,可以发现示例中的角色属性来自父类 BaseCharacter。
假设已经导出 UHT 头文件,查找该类对应的 BaseCharacter.h。如果还没有头文件,先参考使用 UE4SS 导出 UHT 头文件。在头文件中查找需要的获取和设置方法,例如获取属性上限与设置属性的方法。
在 Unreal Engine 中创建类
如果无法查看或添加 C++ 类,原文提示需要重新创建启用 C++ 的项目。
- 打开 UE 项目,选择 File → New C++ Class。
- 将父类设为
Character。父类可从头文件的类声明中查看;如果列表中没有该父类,沿继承关系向上查找,直到找到原生 UE 类。 - 点击 Next,类名必须与头文件完全一致。
- 选择
Public,点击 Create Class。
根据项目规模,可以重建完整继承链,也可以直接连接到原生基类。例如完整重建 ClassA → ClassB → Character,或跳过中间类,使用 ClassA → Character。选择哪种方式取决于项目对中间类的依赖。
编辑头文件并编译
- 创建类后,Visual Studio 会打开,并生成与类名对应的
.cpp和.h文件,如BaseCharacter.cpp与BaseCharacter.h。 - 原文要求在
.cpp中只保留#include "BasePlayer.h"。这里的名称与前面的BaseCharacter不一致,实际操作时应核对生成的文件与包含路径,避免照搬错误名称。 - 在
.h文件中移除创建类时自动添加、此处不需要的方法和变量。
- 按导出的头文件添加相同的类标签,注意每个声明的字段和标签。
- 添加需要使用的方法和变量。
原文的占位实现示例是:布尔值返回 {return false;};,浮点数或整数返回 {return 0;};,void 方法使用 {};。如果涉及自定义类型,需要先重建该类型。这些只是占位实现,不能替代目标游戏的真实逻辑。
在 Solution Explorer 中右键项目名称,选择 Build Solution。若构建成功,输出窗口会显示成功结果;构建失败可能有多种原因,需要检查具体错误。
在蓝图中使用
回到 Unreal Engine 编辑器,打开 Mod 蓝图。现在可以在对应类中访问重建的变量和方法。示例将玩家角色转换为 BaseCharacter,随后访问该类的 C++ 成员。
原文在特定游戏事件中根据可配置百分比调整角色属性;此处为符合站点内容要求,仅保留通用实现思路。实际行为要在项目中单独验证。