我们在UE中经常要对配置数据进行编辑,用好UE自己的DataTable自然对日常使用有所帮助。
1.蓝图使用流程
1.1 DataTable创建
使用数据表首先得创建自定义结构体,这样才好定义每一行的格式,例如这里创建如下:
然后右键选择创建DataTable,对应结构体选择之前创建的:
1.2 DataTable访问
接下里需要在蓝图中访问DataTable获取对应数据,可以使用Get Data Table Row Names节点获取每一行的名称,用Get Data Table Row节点将结构体Break出来使用:
此外还有一个节点Get Data Table Column as String,可以一次性提取所有列的数据,特殊情况下可以使用:
1.3 DataTable导出与导入
我们还可以通过DataTable的导出功能,将数据导出成csv读入到Excel中进行编辑:
然后点击Reimport导入:
2.C++使用流程
如果使用C++类直接创建DataTable会更方便一些,不需要创建一次Struct了,代码如下:
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "Engine/DataTable.h"
#include "MyDataTableInfo.generated.h"
USTRUCT()
struct FMyDataTableInfo : public FTableRowBase
{
GENERATED_USTRUCT_BODY()
public:
UPROPERTY(EditAnywhere)
int Identifier;
UPROPERTY(EditAnywhere)
AActor* TemplateActor;
};