【虚幻引擎】UE5数据表格导入

数据表

顾名思义,DataTable是一种表格,里面装着大量游戏相关的数据,这些数据会按照其含义和用途分类, 其中,数据字段可以是UObject的任意有效属性(包括资产的引用信息)。设计师若要将 CSV文件导入到DataTable,程序员必须首先创建行容器,以便引擎解释数据。

表格中的列会按照一一对应的关系映射UStruct中的变量, 这些变量必须从 FTableRowBase 继承,才能被导入器识别。第一列的标题应该命名为Name,其中定义了每一行内容的名称。

其它列首先包含一个标题,然后是每一行对应的数据。采用这种 格式后,每一行就反映了一个从 FTableRowBase 继承的UStruct结构的所有数据。

示例

public:

        FLevelUpData()
        : XPtoLvl(0)
        , AdditionalHP(0)
        {}

        /** "Name"一列中的字段表示当前的经验等级 */

        /** 升级到下一级所需的经验值 */
        UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=LevelUp)
        int32 XPtoLvl;

        /** 升级后获得生命值加成 */
        UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=LevelUp)
        int32 AdditionalHP;

        /** 升级成就图标 */
        UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=LevelUp)
        TSoftObjectPtr<UTexture> AchievementIcon;
    };
  1. 在Excel或其他电子表格软件中,将你的文件保存为 .csv 格式。

    创建结构体LevelUpData

  2. 打开虚幻编辑器,并点击 内容浏览器(Content Browser) 中的 导入(Import)

  3. 选择你想导入为DataTable的CSV文件。你可以 导入为(Import As) 以下类型:

    导入为:

    数据表(DataTable)

    曲线表(CurveTable)

    浮点曲线(Float Curve)

    向量曲线(Vector Curve)

    线性颜色曲线(Linear Color Curve)

  4. 在下拉列表中选择 DataTable行类型(DataTable Row Type) 。

  5. 其余 导入选项(Import Options) :

     

    导入选项

    说明

    忽略额外字段(Ignore Extra fields)

    设置为true可忽略导入数据中的额外字段,如果设置为false,将对此发出警告

    忽略缺失字段(Ignore Missing Fields)

    设置为true可忽略本该出现但实际缺失的字段,如果设置为false,将对此发出警告

    导入键字段(Import Key Field)

    导入数据中要用作键的显式字段。如果为空,将对 .JSON 使用Name,并对 .CSV 使用找到的字段

  6. 这会在 内容浏览器(Content Browser) 的当前目录中创建DataTable对象。

  7. 你可以 双击 对象以在编辑器中查看DataTable的内容。你可以 右键点击 对象并从菜单中选择 重新导入(Reimport) 来更新该对象。 请注意,重新导入对象时将使用原始文件路径。下面是刚导入之后的数据视图:

数据连接

连接这些表格中的数据非常容易。对程序员来说,他们只需 放置一个可在蓝图中暴露的 FDataTableRowHandle 或 FCurveTableRowHandle 变量, 具体取决于你使用的是DataTable还是CurveTable。对于内容提供者来说, 他们会看到一个带有两个子字段的公开字段:

子字段

说明

DataTable/CurveTable

用于保存数据的表格的引用。

RowName

第一列中的不同数据行的名称/标题。

猜你喜欢

转载自blog.csdn.net/qq_43021038/article/details/130557773