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);
相关推荐
wang090731 分钟前
自己动手写一个spring之IOC_2
java·后端·spring
来杯@Java42 分钟前
学生选课管理系统(基于springboot+vue前后端分离的项目)计算机毕业设计java
java·spring boot·spring·vue·毕业设计·maven·mybatis
Yolo_TvT1 小时前
C++:析构函数
c++
不知名的老吴2 小时前
线程的生命周期之线程“插队“
java·开发语言·python
ANnianStriver2 小时前
PetLumina-02-后端开发与前后端联调
java·ai·sa-token
Hello:CodeWorld2 小时前
C 风格变参 vs C++ 变参模板:核心区别与选型指南
c语言·c++·算法
杨了个杨89823 小时前
Keepalived + Nginx + HAProxy 高可用架构部署实战案例
java·nginx·架构
马士兵教育5 小时前
Java还有前景吗?Java+AI大模型学习路线及项目?
java·人工智能·python·学习·机器学习
搬砖魁首5 小时前
基础能力系列 - 多线程2 - 条件变量
c++·rust·条件变量·原子类型·线程同步互斥
chase_my_dream5 小时前
C++ + SLAM 高频面试问题整理
开发语言·c++·面试