虚幻属性系统(反射)

本文介绍了虚幻引擎4(UE4)的反射系统,包括UENUM、USTRUCT、UCLASS、UPROPERTY、UFUNCTION、UINTERFACE宏的使用,以及它们的元数据说明符,这些用于支持游戏开发中的动态功能,如蓝图、序列化和网络复制等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

UE4使用其自己的反射系统来支持动态功能,如详细面板、垃圾回收、序列化、网络复制和蓝图/C++通信等。C++本身不支持任何形式的反射,所以UE4建立了反射来收集和操作有关C++类,结构体,函数,成员变量和枚举的信息。
使用反射系统需要有如下头文件支持,只能继承自UObject:

#include "TestActor.generated.h"//以创建ATestActor为例,由UE4自动生成
GENERATED_BODY()//此宏包含UObject类生成样板代码

可以使用UENUM()USTRUCT()UCLASS()UPROPERTY()UFUNCTION()UINTERFACE() 宏来标注标头文件中的不同类型和成员变量,并且可以包含其他说明符关键字。。

  • 元数据说明符
    除普通说明符外,在UCLASS(),UPROPERTY(), UFUNCTION(),UINTERFACE()宏中使用 meta 即可使用元数据说明符,控制其在编辑器中的显示效果,而与游戏的逻辑无关,如下所示:
	//UPROPERTY(meta=(MetaTag1="Value1",MetaTage2,..))
	//例子:限制Speed的最小值和最大值。
	UPROPERTY(meta=(ClampMax="0", ClampMax="300"))
	float Speed=100.0f;

下面只给出最常用的说明符,分为普通和元数据说明符,其它可以参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值