关于 UE4 的 类、接口、结构体、枚举、枚举值、函数,属性的 元数据说明符
元数据说明符
声明UClasses、UFunctions、UProperties、UEnums和UInterfaces时使用的元数据关键词,说明其与虚幻引擎和关卡编辑器诸多方面的互动方式。
声明类、接口、结构体、枚举、枚举值、函数,或属性时,可添加 元数据说明符 来控制其与引擎和编辑器各方面的相处方式。每一种类型的数据结构或成员都有自己的元数据说明符列表。
要添加元数据说明符,需使用单词 meta
,后接说明符列表。如有必要,可以将它们的值添加到 UCLASS
、UENUM
、UINTERFACE
、USTRUCT
、UFUNCTION
或 UPROPERTY
宏,如下所示:
1 {UCLASS/UENUM/UINTERFACE/USTRUCT/UFUNCTION/UPROPERTY}(SpecifierX, meta=(MetaTag1="Value1", MetaTag2, ..), SpecifierY)
要添加元数据说明符到枚举值,可将 UMETA
标签添加到值本身。如果存在用于分隔的逗号,则要添加到逗号之前,如下所示:
1 UENUM() 2 enum class EMyEnum : uint8 3 { 4 // Default Value Tooltip 5 DefaultValue = 0 UMETA(MetaTag1="Value1", MetaTag2, ..), 6 7 // ValueWithoutMetaSpecifiers Tooltip 8 ValueWithoutMetaSpecifiers, 9 10 // ValueWithMetaSpecifiers Tooltip 11 ValueWithMetaSpecifiers UMETA((MetaTag1="Value1", MetaTag2, ..), 12 13 // FinalValue Tooltip 14 FinalValue (MetaTag1="Value1", MetaTag2, ..) 15 };
元数据仅存在于编辑器版本中;请不要围绕元数据构建游戏逻辑。
类元数据说明符
类可以使用以下元标签说明符:
类元标签 |
效果 |
---|---|
|
如其存在,组件类可由蓝图生成。 |
|
只在蓝图函数库上有效。此说明符将把此类中的函数在动画蓝图中的非游戏线程上标记为可调用。 |
|
用于Actor和组件类。如果本地类无法tick,那么基于此Actor或组件的蓝图生成类则无法tick,即使 |
|
用于Actor和组件类。如果本地类无法tick,那么可以覆盖基于此Actor或组件的蓝图生成类的 |
|
用于行为树节点,说明类已废弃,编译时将显示一条警告。 |
|
如果类已废弃,尝试编译使用此类的蓝图时,其将被添加到标准废弃警告。 |
|
此节点在蓝图中的命名将被此处提供的值所取代,而非代码生成的命名。 |
|
不使用蓝图中的Generic Create Object节点来生成类的一个对象。此说明符只有在用于既非Actor又非ActorComponent的BluprintType类时才有意义。 |
|
在 Async Task 节点中公开此类的一个代理对象。 |
|
用于让一个类的首个子类忽略所有继承的 |
|
说明此类是否为创建蓝图的一个可接受基类,与 |
|
不允许被覆盖的蓝图事件的列表。 |
|
列出与类不兼容的接口。 |
|
由蓝图函数库类使用,用于限制列表中命名类的用法。 |
|
完整提示文本过长时使用的简短提示文本,例如父类选取器对话。 |
|
说明放置在此类拥有的图表中的蓝图节点必须显式其World情景引脚(即使其通常状态下为隐藏也同样如此),因为此类的对象无法被用作World情景。 |
|
说明类使用层级数据。用于实例化"细节"面板中的层级编辑功能。 |
|
覆盖从代码注释自动生成的提示文本。 |
枚举元数据说明符
枚举可使用下列元数据说明符:
枚举元标签 |
效果 |
---|---|
|
表示整数UPROPERTY变量(使用"位掩码"元数据说明符设置)可将此枚举用作标记。 |
|
将此类型标记为试验性和不支持。 |
|
将在编辑器中使用引证字符串作为此枚举的命名,而非使用虚幻标头工具生成的默认命名。 |
|
覆盖在代码注释中自动生成的提示文本。 |
枚举中的各值含有元数据说明符。此类元数据说明符与其他元数据说明符稍有不同,其使用顶层关键字 UMETA
,且在修改的值之后(而非之前)进行指定。
枚举值UMeta标签 |
效果 |
---|---|
|
此处提供的文本将使用该值命名,而非代码生成的命名。 |
|
在编辑器中不显示该值。 |
|
覆盖在代码注释中自动生成的提示文本。 |
接口元数据说明符
接口可以使用以下元标签说明符:
接口元标签 |
效果 |
---|---|
|
除了仅限内部的函数,此接口可能不包含 |
结构体元数据说明符
结构体可以使用以下元标签说明符:
结构体元标签 |
效果 |
---|---|
|
说明此结构体拥有一个自定义Break Struct节点。必须提供模块、类和函数命名。 |
|
说明此结构体拥有一个自定义Break Struct节点。必须提供模块、类和函数命名。 |
|
Make Struct和Break Struct节点中的引脚默认为隐藏状态。 |
|
完整提示文本过长时使用的简短提示文本,例如父类选取器对话。 |
|
覆盖从代码注释自动生成的提示文本。 |
函数元数据说明符
函数元标签 |
效果 |
---|---|
|
以逗号分隔的参数列表将显示为高级引脚(需要UI扩展)。 |
|
用一个数字替代 |
|
说明 |
|
使用 |
|
如列出参数(由引用传递)的引脚未连接,其将拥有一个自动创建的默认项。这是蓝图的一个便利功能,经常在数组引脚上使用。 |
|
仅能由来自蓝图函数库的静态 |
|
此函数是一个内部实现细节,用于实现另一个函数或节点。其从未直接在蓝图图表中公开。 |
|
此函数只能在蓝图中的拥有对象上调用。其无法在另一个实例上调用。 |
|
用于拥有一个 |
|
说明 |
|
说明 |
|
列出的参数都会被视为通配符。此说明符需要 要声明自定义 |
|
用于 |
|
蓝图对此函数进行引用时将引起编译警告,告知用户函数已废弃。可使用 |
|
如果函数已废弃,尝试编译使用此函数的蓝图时,其将被添加到标准废弃警告。 |
|
被标记为 |
|
此节点在蓝图中的命名将被此处提供的值所取代,而非代码生成的命名。 |
|
用于 |
|
用于 |
|
隐藏用于指出函数调用所处对象的self引脚。self引脚在与调用蓝图的类兼容的 |
|
与 |
|
指定在搜索此函数时可使用的一套关键词,例如合适放置节点在蓝图图表中调用函数。 |
|
说明一个延迟操作。延迟操作拥有类型为 |
|
用于延迟 |
|
用于 |
|
用于 |
|
只在蓝图函数库中有效。此函数将被视为拥有类的整体 |
|
完整提示文本过长时使用的简短提示文本,例如父类选取器对话。 |
|
覆盖从代码注释自动生成的提示文本。 |
|
在Actor构造时调用此函数并非安全操作。 |
|
由 |
属性元数据说明符
属性元标签 |
效果 |
---|---|
|
用于 |
|
用于 |
|
用于 |
|
用于整数属性。将可在UI中输入的有效值锁定在0和命名数组属性的长度之间。 |
|
用于 |
|
用于 |
|
属性默认项由蓝图编译器生成, |
|
用于浮点和整数属性。指定可在属性中输入的最小值 |
|
用于浮点和整数属性。指定可在属性中输入的最大值 |
|
此属性被序列化为一个配置( |
|
由 |
|
在蓝图编辑器中,名为 |
|
此属性显示的命名,不显示代码生成的命名。 |
|
如两个属性有相同的 |
|
说明属性是一个资源类型,其应显示选中资源的缩略图。 |
|
对一个布尔属性进行命名,此属性用于说明此属性的编辑是否被禁用。将"!"放置在属性命名前可颠倒测试。 |
|
使排列的元素无法通过拖拽来重新排序。 EditCondition元标签不再仅限于单个布尔属性。它现在由完全成熟的算式解析器计算,意味着可以包含一个完整的C++表达式。
|
|
结合 |
|
在蓝图编辑器中编译一个函数列表时,指定其函数应被公开的类目的列表。 |
|
指定此属性是否应在此类类型的一个Spawn Actor节点上公开。 |
|
由 |
|
使该属性的"Get"蓝图节点返回对属性的常量引用,而不是其值的副本。只对稀疏类数据生效,只能在不存在 |
|
用于 |
|
用于 |
|
表示出布尔属性只内联显示为其他属性中的一个编辑条件切换,不应显示在其自身的行上。 |
|
由 |
|
用于变换或旋转体属性,或变换/旋转体的排列。说明属性应在视口中公开为一个可移动控件。 |
|
防止蓝图为该属性生成一个"get"节点。只对稀疏类数据生效。 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律