04 - 函数UFUNCTION
本文主要说明了UE5中有关函数UFUNCTION()
的基础概念。
UFUNCTION
UFunction 是虚幻引擎(UE)反射系统可识别的C++函数。UObject
或蓝图函数库可将成员函数声明为UFunction,方法是将 UFUNCTION()
宏放在头文件中函数声明上方的行中:
UFUNCTION([specifier1=setting1, specifier2, ...], [meta(key1="value1", key2, ...)])
ReturnType FunctionName([Parameter1, Parameter2, ..., ParameterN1=DefaultValueN1, ParameterN2=DefaultValueN2]) [const];
可以发现UFUNCTION()
宏也支持函数说明符和元数据标识。
函数说明符
常用到的函数说明符有:
函数说明符 | 效果 |
---|---|
BlueprintCallable | 该函数可在蓝图中执行 |
BlueprintImplementableEvent | 该函数可在蓝图中实现 |
BlueprintNativeEvent | 该函数可被蓝图重载,如果没有被重载,则执行带有后缀_Implementation 的C++版本 |
BlueprintPure | 用此说明符标记或用const 修饰的函数被称为纯函数,对于后者来说,可用BlueprintPure = false 取消 |
CallInEditor | 该函数可在编辑器选中的示例中点击运行 |
此外,还有和网络同步等功能相关的函数说明符,详见这里。
元数据标识
UFUNCTION()
相关的元数据标识详见这里。
参考资料
UE5 虚幻引擎UEC++从基础到进阶_哔哩哔哩_bilibili
虚幻引擎UFunction | 虚幻引擎 5.6 文档 | Epic Developer Community