属性说明符
VisibleDefaultsOnly //仅在Class Defaults可见
VisibleInstanceOnly //仅在实例化Detail可见
EditInstanceOnly //可通过属性窗口进行编辑,但只能在实例上进行,不能在原型上进行
VisibleAnywhere //Class Defaults 和 实例化 Detail 可见
EditDefaultsOnly //仅在 Class Defaults 可编辑
EditAnywhere //Class Defaults 和 实例化 Details 可编辑
BlueprintReadOnly //蓝图只读,只能Get
BlueprintReadWrite //蓝图读写,Get和Set
Category // 设置分组 类别
BlueprintAssignable //蓝图中可绑定委托
//元数据说明符meta
DisplayName //别名
EditCondition // 条件可编辑
BlueprintSetter="function name" //设置setter/Getter函数,如果不设置,也可以访问,设置之后,在蓝图中调用节点会回调指定方法
UMETA 扩展宏
eg: UPROPERTY(EditAnywhere)
FName ChineseName UMETA(DisplayName="中文名");
FUNCTION:
BlueprintAuthorityOnly //如果在具有网络权限的机器上运行(服务器、专用服务器或单人游戏),此函数将仅从蓝图代码执行。
BlueprintCallable //此函数可在蓝图或关卡蓝图图表中执行。
BlueprintCosmetic //此函数为修饰性的,无法在专用服务器上运行。
BlueprintImplementableEvent //用于实现C++调蓝图(声明在C++,实现在蓝图)
BlueprintNativeEvent //此函数旨在被蓝图覆盖掉,但是也具有默认原生实现。用于声明名称与主函数相同的附加函数,但是末尾添加了Implementation 是写入代码的位置。如果未找到任何蓝图覆盖,该自动生成的代码将调用 Implementation 方法。
BlueprintPure //此函数不对拥有它的对象产生任何影响,可在蓝图或关卡蓝图图表中执行。
CallInEditor //可通过细节(Details)面板`中的按钮在编辑器中的选定实例上调用此函数。
Client //此函数仅在拥有在其上调用此函数的对象的客户端上执行。用于声明名称与主函数相同的附加函数,但是末尾添加了Implementation。必要时,此自动生成的代码将调用 Implementation方法。
CustomThunk //UnrealHeaderTool 代码生成器将不为此函数生成thunk,用户需要自己通过 DECLARE_FUNCTION 或 DEFINE_FUNCTION 宏来提供thunk。
Exec //此函数可从游戏内控制台执行。仅在特定类中声明时,Exec命令才有效。 NetMulticast //此函数将在服务器上本地执行,也将复制到所有客户端上,无论该Actor的 NetOwner 为何。
Reliable //此函数将通过网络复制,并且一定会到达,即使出现带宽或网络错误。仅在与`Client`或`Server`配合使用时才有效。
SealedEvent //无法在子类中覆盖此函数。SealedEvent`关键词只能用于事件。对于非事件函数,请将它们声明为`static`或`final,以密封它们。
ServiceRequest //此函数为RPC(远程过程调用)服务请求。这意味着 NetMulticast 和 Reliable。
ServiceResponse //此函数为RPC服务响应。这意味着 NetMulticast 和 Reliable。 Server //此函数仅在服务器上执行。用于声明名称与主函数相同的附加函数,但是末尾添加了 _Implementation,是写入代码的位置。必要时,此自动生成的代码将调用 _Implementation 方法。
Unreliable //此函数将通过网络复制,但是可能会因带宽限制或网络错误而失败。仅在与`Client`或`Server`配合使用时才有效。
WithValidation //用于声明名称与主函数相同的附加函数,但是末尾需要添加`_Validate`。此函数使用相同的参数,但是会返回`bool`,以指示是否应继续调用主函数。
BlueprintGetter
BlueprintSetter //配合UPROPERTY使用
UFUNCTION(Meta=(DisplayName="alis"))
dvancedDisplay="参数1,参数2"//被设置的参数会隐藏起来,作为高级选项需要三角符号打开
AdvancedDisplay=N //N为数字,表示N之后的所有参数都隐藏起来
UPROPERTY(BlueprintGetter=GetBlueprintGetterValue)
float BlueprintGetter;
UPROPERTY(BlueprintSetter=SetBlueprintSetterValue)
float BlueprintSetter;
public:
UFUNCTION(BlueprintCallable)
float GetBlueprintGetterValue() const
{
return 0.0f;
}
UFUNCTION(BlueprintCallable)
void SetBlueprintSetterValue(float Value)
{
BlueprintSetter=Value;
}
log
#include "Logging/LogMacros.h" //Log的头文件
UE_LOG(MyLog,Log,TEXT("Hello World"));//其中第一个参数表示Log的类别。用于在输出日志中做区分。第二个参数表示打印出的Log的颜色:Warning,输出的Log颜色为黄色;Log,输出的Log颜色为灰色;Error,输出的Log颜色为红色。
UE_LOG(MyLog,Warning,TEXT("Hello World"));
UE_LOG(MyLog,Error,TEXT("Hello World"));
UE_LOG(LogLoad, Log,TEXT(" %s %f %i") , *String , float, int);//%s打印的是字符串,注意UE4字符串类型为FString,打印是要加*;%f打印的是浮点数%i打印的是整数
UE_LOG(LogTemp,Warning,TEXT("内容 is %f"),TotalMass)
//自定义log
DEFINE_LOG_CATEGORY_STATIC(myLog, Log, All); //定义:
UE_LOG(myLog,Log,TEXT("name = %s"),*customName);//使用:
DEFINE_LOG_CATEGORY(MeLog);//调用时需要再次声明
//目录saved/logs