UE5 c++ 暴露变量和方法给蓝图

文章目录

暴露变量到属性面板

使用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);
相关推荐
ShineWinsu1 小时前
对于C++:IO流状态的详细解析
c++·面试·io·cin·io流状态·goodbit·failbit
M-Robots echo1 小时前
轻量化裁剪方案解析:M-Robots 模块化构建,适配高低端各类机器人硬件平台
java·机器人·ros·开源社区·atomgit·m-robots
不可求~2 小时前
多模型路由怎么落地:把任务分流写进项目的最小实现
java·前端·数据库
Lzg_na3 小时前
constexpr的优势
c++
mldong3 小时前
用 DDD 设计工作流引擎:聚合根与充血模型
java·架构
mqiqe4 小时前
AgentScope Java Harness:4. 双层记忆系统 让 Agent 拥有真正的“长期大脑“
java·开发语言
伍一514 小时前
03-文件管理模块-一个看似简单的模块藏着多少细节
java·ruoyi·若依
gugucoding4 小时前
46. 【Java】JUC并发工具:让并发更简单
java·开发语言
王维同学4 小时前
进程模块枚举、映像身份与线程启动地址关联
c++·windows·安全
hold?fish:palm4 小时前
24 回文链表
数据结构·c++·链表