虚幻引擎4-UE4 C++ UFUNCTION 宏 参数解析
2017-07-12 本文已影响263人
无沣
虚幻引擎c++中定义了许多宏,如UCLASS(),UPROPERTY(),UFUNCTION(),USTRUCT()等,其中UFUNCTION()宏添加在函数前面,填入适当参数可以帮助函数实现特定的功能, 如允许蓝图调用该函数。这里总结下UFUNCTION()宏几个重要的参数。
BlueprintCallable,蓝图可以调用该函数,但是函数体只能在c++中实现;
BlueprintImplementableEvent,蓝图可以调用该函数,而且该函数的具体实现只能在蓝图中进行;
BlueprintNativeEvent,蓝图可以调用该函数,同时该函数的实现在c++中已经完成了,但是蓝图可以对该函数进行覆盖重写;这个参数可以实现最灵活的函数调用;
需要注意的是,在c++中对该函数进行声明和实现时要做一些特殊处理。首先,要声明一个新的虚函数,函数名为原名加 _Implementation ;其次,对该函数的c++实现要转而对该虚函数进行;而且,无论c++或者蓝图调用该函数时,都是直接使用函数的原名。
可以参考官方这个c++的教学示例。
https://docs.unrealengine.com/latest/CHN/Programming/Tutorials/VariablesTimersEvents/index.html
基本代码如下:
Category,该参数同样适用于UPROPERTY()宏,两种用法,Category=CategoryName 或者 Category=”MajorCategory|SubCategory”。