文章目录
暴露变量到属性面板
使用UPROPERTY()宏标记属性,使用括号里的参数确认不同的表现形式
cpp
//UPROPERTY(EditDefaultsOnly) //只能在蓝图的"类默认值"里编辑
//UPROPERTY(EditInstanceOnly) //只能实例化后在属性面板编辑
//UPROPERTY(EditAnywhere) //类的默认值和实例化后都可以编辑
//UPROPERTY(VisibleDefaultsOnly) //只能在蓝图的"类默认值"里可见,不能编辑
//UPROPERTY(VisibleInstanceOnly) //只能实例化后在属性面板里可见,不能编辑
UPROPERTY(VisibleAnywhere) //类的默认值和实例化后都可见,不能编辑
float Amplitude = 0.25f;
暴露后,会显示在类名分类下方,我现在的类名就叫"Item"

暴露变量到蓝图节点
变量必须在public修饰符下
cpp
//UPROPERTY(EditAnywhere,BlueprintReadOnly)//只读
UPROPERTY(EditAnywhere,BlueprintReadWrite)//可读可写
float Amplitude = 0.25f;//振幅
为变量分组
cpp
UPROPERTY(EditAnywhere,BlueprintReadWrite,Category="正弦函数")
float Amplitude = 0.25f;//振幅
暴露私有变量到蓝图
csharp
private:
UPROPERTY(VisibleAnywhere,BlueprintReadOnly,meta=(AllowPrivateAccess="true")) //使用Meta
float runningTime;
暴露方法
cpp
//UFUNCTION(BlueprintCallable) //普通方法
UFUNCTION(BlueprintPure) //纯函数
float TransformSin(float Value);