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

B站教学链接:https://space.bilibili.com/449549424?spm_id_from=333.1007.0.0

数据表

顾名思义,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 AchievementIcon;
    };
  1. 在Excel或其他电子表格软件中,将你的文件保存为 .csv 格式。
    【虚幻引擎】UE5数据表格导入_第1张图片
    创建结构体LevelUpData
    【虚幻引擎】UE5数据表格导入_第2张图片

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

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

    【虚幻引擎】UE5数据表格导入_第3张图片

    导入为:

    数据表(DataTable)

    曲线表(CurveTable)

    浮点曲线(Float Curve)

    向量曲线(Vector Curve)

    线性颜色曲线(Linear Color Curve)

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

    【虚幻引擎】UE5数据表格导入_第4张图片

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

    【虚幻引擎】UE5数据表格导入_第5张图片

     

    导入选项

    说明

    忽略额外字段(Ignore Extra fields)

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

    忽略缺失字段(Ignore Missing Fields)

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

    导入键字段(Import Key Field)

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

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

    【虚幻引擎】UE5数据表格导入_第6张图片

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

    【虚幻引擎】UE5数据表格导入_第7张图片

数据连接

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

子字段

说明

DataTable/CurveTable

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

RowName

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

你可能感兴趣的:(虚幻,ue5,游戏引擎)