后续文章更新移步→微信公众号“虚幻社区”(mantra-xhsq),您的支持是我创作的动力。
之前一篇文章为大家介绍了结构体在蓝图中的使用。虽然能够满足蓝图项目制作的制作需求,但是还是有很大一部分人会使用C++,所以本篇知乎将着重为大家讲解如何在C++中使用结构体。
结构体相关的宏:USTRUCT()和GENERATED_USTRUCT_BODY()
一、创建结构体
对于想要创建一个最简单的结构体,我们只需要在原有C++结构体定义的基础上添加一些宏即可。
如果想查看完整版代码,请跳转至文章末尾
USTRUCT
这样的结构体基本只能在C++中使用,如果想为蓝图提供接口,那么就需要为宏添加一些修饰符。
// 添加BlueprintType可以直接在蓝图中使用Break/Make等函数
USTRUCT(BlueprintType)
struct FMantraPlayerInfo
{
GENERATED_USTRUCT_BODY()
// 使用UPROPERTY修饰符可以更方便的在蓝图中设置
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Mantra")
FName Name = FName("");
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Mantra")
float Height = 0;
};