相关文章推荐
本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议 》和 《 阿里云开发者社区知识产权保护指引 》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单 进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

我们在UE中经常要对配置数据进行编辑,用好UE自己的DataTable自然对日常使用有所帮助。

1.蓝图使用流程
1.1 DataTable创建
使用数据表首先得创建自定义结构体,这样才好定义每一行的格式,例如这里创建如下:
q1.png

然后右键选择创建DataTable,对应结构体选择之前创建的:
q2.jpeg

1.2 DataTable访问
接下里需要在蓝图中访问DataTable获取对应数据,可以使用Get Data Table Row Names节点获取每一行的名称,用Get Data Table Row节点将结构体Break出来使用:
q3.png

此外还有一个节点Get Data Table Column as String,可以一次性提取所有列的数据,特殊情况下可以使用:
q4.png

1.3 DataTable导出与导入
我们还可以通过DataTable的导出功能,将数据导出成csv读入到Excel中进行编辑:
q5.jpeg

然后点击Reimport导入:
q6.png

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;
 
推荐文章