当前位置:   article > 正文

【UE4】纯蓝图实现数据表(DataTable)的写入存储_用蓝图修改datatable

用蓝图修改datatable

前言

  UE4可以方便的实现表格的读取,通常是将csv表格文件按对应表头结构体导入后,作为引擎内的DataTable类型文件再进行使用。读取DataTable的操作,可以通过GetDataTableRowNames和GetDataTableRow节点在蓝图中简单实现:
请添加图片描述

图1:读取DataTable数据并存入对应的结构体数组

  然而UE4蓝图似乎并不能实现DataTable的写入,通常我们可以使用UEC++中的UDataTable或UDataTableFunctionLibrary相关的操作函数对DataTable进行动态的数据写入。

  事实上还是可以通过蓝图实现DataTable的写入操作,本着能用蓝图干嘛还用C++的心态(bushi,保证性能的情况还得靠C++,C++的运行效率通常高于蓝图,特别点名批评蓝图Loop),记录这种实现方式。

实现

创建名称中含有EditorUtility类型的蓝图,
在这里插入图片描述
这些蓝图中能够调用一般Actor蓝图中无法调用的 Fill Data Table from XXX 系列节点,
(这些节点在UE4.21前也可以在一般Actor蓝图中调用,随着UE4向模块化设计模式更新迭代,而被拆分放于Editor模块的蓝图中)
在这里插入图片描述
以上4个节点都可以实现DataTable数据的写入,以 Fill Data Table from CSV String 为例,

  1. 创建String变量用于存储预写入数据
  2. 通过Append节点按照CSV格式(逗号分隔数据,文本换行表格即换行)存入数据
  3. 数据写入完毕后,在String开头加上表头字符
  4. 最后调用 Fill Data Table from CSV String 节点将String内容存入DataTable中,完成。
    eg.图2

请添加图片描述

图2:将Instanced Static Mesh组件中的每个instance的XY坐标顺序存入表中

  1. 若想导出DataTable至外界,在Editor中右键DataTable,选择顶部DataTableActions中的Export as CSV/JSON即可。

在这里插入图片描述

结语

写这篇Blog时被CoCo和大鹏催干活了5次!可恶,明明还是假期,干活去了ε=ε=(>Д<)ノノ!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/133393
推荐阅读
相关标签
  

闽ICP备14008679号