当前位置: 首页 > news >正文

UPROPERTY的再次学习

一.简述UPROPERTY

以往我们经常使用UPROPERTY来,对蓝图公开设置权限。我们跟着官方文档来理一下,查缺补漏具体的细节。或者说变量在蓝图和编辑器下,以哪种方式显示,其实构成也不复杂如下,就两个组成。

UPROPERTY([变量说明符specifier,....],[元数据meta,....]) 可叠加。

UPROPERTY([specifier, specifier, ...], [meta(key=value, key=value, ...)])Type VariableName;

然后是虚幻整数类型,uint8

UE5.3蓝图里,支持的只有三个。分别是uint8,int32,int64;

让后我们可以使用的,

二.位掩码

属性Meta 元数据加上(BitMask)。函数也能,只是在参数前多加UPARAM(meta = (Bitmask))

	/*~ BasicBits appears as a list of generic flags in the editor, instead of an integer field. */UPROPERTY(EditAnywhere, Meta = (Bitmask))	int32 BasicBits;/*~ You can set MyFunction using a generic list of flags instead of typing in an integer value. */	UFUNCTION(BlueprintCallable)	void MyFunction(UPARAM(meta = (Bitmask)) int32 BasicBitsParam);

三.基于位掩码的 更高用法。自定义位标记名称

他们不在时Flag1。也是可以相互存在的状态量。

UseEnumValuesAsMaskValuesInEditor 应该是可以自己赋值,比如ECB_Blue 是16,而不用默认定好的Bit位1,2,4。直接拿源码举例看

测试

UENUM(Meta = (Bitflags, UseEnumValuesAsMaskValuesInEditor = "true"))	
enum class EColorBits1 
{ ECB_Red = 0x01, ECB_Green = 0x02, ECB_Blue = 0x04 
}; 
ENUM_CLASS_FLAGS(EColorBits1);
UENUM(Meta = (Bitflags))	
enum class EColorBits2 
{ ECB_Red,ECB_Green,ECB_Blue 
};
	/*~ This property lists flags matching the names of values from EColorBits. */	UPROPERTY(EditAnywhere, Meta = (Bitmask, BitmaskEnum = "EColorBits1"))	int32 ColorFlags;UPROPERTY(EditAnywhere, Meta = (Bitmask, BitmaskEnum = "EColorBits2"))int32 ColorFlags2;

同样函数也可以用这些枚举

	/*~ MyOtherFunction shows flags named after the values from EColorBits. */	UFUNCTION(BlueprintCallable)	void MyOtherFunction(UPARAM(meta = (Bitmask, BitmaskEnum = "EColorBits1")) int32 ColorFlagsParam);UFUNCTION(BlueprintCallable)void MyOtherFunction2(UPARAM(meta = (Bitmask, BitmaskEnum = "EColorBits2")) int32 ColorFlagsParam);

四.其余的数字类型,加上UPEROPERTY。都能反射到蓝图。

五.属性说明符

5.5的文档基本都翻译了

我们记录一下常用的

用于多播代理,事件分发器用于绑定。

编辑器权限

与网络相关

存档 序列化

六. 元数据 标签

命名

案例,禁用

	UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WX")bool bEdite = false;UPROPERTY(BlueprintReadWrite,EditAnywhere,Category = "WX",meta = (EditCondition = "bEdite"))FString EditString = TEXT("我是字符串String");

生成时暴露出来

七. 二维数组,如何暴露到蓝图

结构体里有 暴露好的数组,再组成它的数组。

USTRUCT(BlueprintType)
struct FStruArray
{GENERATED_USTRUCT_BODY();UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WX")TArray<FString> MyStrArray;
};
	UPROPERTY(BlueprintReadWrite,EditAnywhere,Category = "WX")TArray<FString> MyStrArray;//二维数组UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "WX")TArray<FStruArray> MyStruArray;

http://www.dtcms.com/a/350329.html

相关文章:

  • 高通SNPE测试:6、在开发板上运行Inception v3 Model(oe-linux)
  • vite + react + tailwind(2025-08-25)
  • C++贪吃蛇---详细步骤
  • 2.4 Flink运行时架构:Task、SubTask、ExecutionGraph的关系
  • OPcache 高级技术文档:原理、监控与优化实践
  • Unity使用Sprite切割大图
  • JavaScript 性能优化实战:从理论到落地的技术文章大纲
  • 基于长短期记忆网络的多变量时间序列预测 LSTM
  • Redis 哨兵 Sentinel
  • 【沉浸式解决问题】NVIDIA 显示设置不可用。 您当前未使用连接到NVIDIA GPU 的显示器。
  • 实时监测蒸汽疏水阀的工作状态的物联网实时监控平台技术解析
  • VLLM的加速原理
  • 基于MATLAB实现支持向量机(SVM)进行预测备
  • 大模型的多机多卡训练
  • 神经网络|(十五)概率论基础知识-协方差标准化和皮尔逊相关系数
  • 亚马逊AWD美西新仓上线:旺季备货的效率革命与策略升级
  • 真实应急响应案例记录
  • 机器学习笔记
  • Neumann Networks for Linear Inverse Problems in Imaging论文阅读
  • CF2133D 鸡骑士
  • 基于遗传算法优化BP神经网络的时间序列预测 GA-BP
  • PNP机器人介绍:全球知名具身智能/AI机器人实验室介绍之多伦多大学机器人研究所
  • DeepSeek 14B模型本地部署与预训练实现方案
  • jsvmp是什么,如何使用
  • 入门Ubuntu操作系统
  • 深度学习:从手写数字识别案例认识pytorch框架
  • 用 GSAP + ScrollTrigger 打造沉浸式视频滚动动画
  • 《零基础学 C 语言文件顺序读写:fputc/fgetc 到 fread/fwrite 函数详解》
  • 并行算法与向量化指令集的实战经验
  • 【Linux内核实时】实时互斥锁 - sched_rt_mutex