【UE4】纯蓝图实现数据表(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次!可恶,明明还是假期,干活去了ε=ε=(>Д<)ノノ!!

  • 14
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值