UE5中的DataTable说明

这篇具有很好参考价值的文章主要介绍了UE5中的DataTable说明。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

创建DataTable

        在编辑器中创建

        在文件夹空白处右击,选择Miscellaneous/DataTable,如图:

UE5中的DataTable说明,Unreal,UC++,UE5

        使用代码创建

// 创建DataTable实例
UDataTable* MyDataTable = NewObject();
// 创建一个行结构体
UStruct* RowStruct = UStruct::CreateEmpty();
// 添加两个属性到结构体
FStructProperty* Property1 = FStructProperty::Create(RowStruct, TEXT("Property1"), EPropertyFlags::CPF_Edit);
FStructProperty* Property2 = FStructProperty::Create(RowStruct, TEXT("Property2"), EPropertyFlags::CPF_Edit);
// 更新结构体
RowStruct->StaticLink(true);
// 设置行结构体
MyDataTable->RowStruct = RowStruct;

在DataTable中添加行数据

        有了DataTable的结构或者类型定义后,接下来您需要添加数据。以下是示例代码:

// 获取DataTable并检查是否有效
UDataTable* MyDataTable = LoadObject(nullptr, TEXT("DataTable'/Game/Data/MyDataTable.MyDataTable'"));

if (MyDataTable)
{
    // 创建行数据实例
    FMyRowData MyRow;
    // 设置行数据
    MyRow.Property1 = FString(TEXT("Value"));
    MyRow.Property2 = 10;
    // 添加行数据
    MyDataTable->AddRow(TEXT("RowName"), MyRow);
}

结构体选取

        UE中的结构体选取是定义DataTable中行数据的非常常用的方法。结构体选取可以用来设计更复杂的数据结构,比如嵌套结构体。以下是结构体选取的示例:

// 定义一个结构体属性
FStructProperty* StructProperty = CastField(MyDataTable->RowStruct->FindPropertyByName(TEXT("Property1")));
// 获取结构体属性值
FMyRowData MyRowData = MyDataTable->GetRow(TEXT("RowName"));
FString PropertyValue = StructProperty->GetPropertyValue_InContainer(&MyRowData)->ToString();

从CSV文件中导入数据

        导入CSV文件到DataTable可以帮您提高生产效率,特别是当数据非常大时。以下是从CSV文件中导入DataTable数据的示例:

// 打开CSV文件
FString FilePath = FString(TEXT("Data/MyData.csv"));
FString FileContent;
FFileHelper::LoadFileToString(FileContent, *FilePath);
// 将CSV文件解析为FDataTableImporterCSV类型
FDataTableImporterCSV DataTableImporterCSV(*FileContent);
// 导入数据到DataTable
MyDataTable->CreateTableFromCSVString(FileContent);

从DataTable导出数据

        从DataTable中导出数据可以让您将数据放到一个易于处理的格式中,比如一个文本或者XML文件。以下是从DataTable导出数据的示例:文章来源地址https://www.toymoban.com/news/detail-825610.html

// 从DataTable中获取行数据
FMyRowData* RowData = MyDataTable->FindRow(TEXT("RowName"), FString(""), true);
// 使用JSON格式序列化行数据并保存到文件
FString JsonString;
FJsonObjectConverter::UStructToJsonObjectString(RowData, JsonString);
FString FilePath = FString(TEXT("Data/MyData.json"));
FFileHelper::SaveStringToFile(JsonString, *FilePath);

到了这里,关于UE5中的DataTable说明的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【UE5 Cesium】14-Cesium for Unreal 加载服务器上的倾斜摄影

    目录 前言  步骤 一、下载安装tomcat 10 二、下载安装JDK 三、启动Tomcat 四、Tomcat加载倾斜摄影 五、UE中加载Tomcat上的倾斜摄影         上一篇文章(【UE5 Cesium】13-Cesium for Unreal 加载本地倾斜摄影)介绍了如何在UE中加载本地倾斜摄影,本文在该文章基础上继续介绍如何在将

    2024年02月12日
    浏览(47)
  • 【UE5 Mass AI】UE5技术演示视频中的MassAI笔记

    在虚幻引擎中,Mass Framework是面向数据的一种框架设计,而MassAI则是一个具体的用例。 Mass Framework可以分为三部分:MassEntity,MassGameplay,MassAI。 1. Mass Entity MassEntity是一种面向数据的框架,该框架有两部分,一为片段(Fragment),非常小的数据结构,会连续的储存在内存中;另为

    2023年04月17日
    浏览(47)
  • 《使用Unreal Engine Python插件进行UE4中的Python开发》学习笔记1

    ·本文为B站系列教学视频 《使用 UnrealEnginPython 插件进行UE4中的Python开发》 ——《 Day 01 初识 UnrealEnginePython 》的学习笔记,UP主为腾讯游戏策划、虚幻社区贡献者 世欺子。 本节课对基于虚幻引擎( Unreal Engine )的 Python 集成开发插件 UnrealEnginePython 进行简要介绍,接着在虚幻

    2024年04月11日
    浏览(63)
  • UE4/5中DataTable数据表的使用

    我们在UE中经常要对配置数据进行编辑,用好UE自己的DataTable自然对日常使用有所帮助。 使用数据表首先得创建自定义结构体,这样才好定义每一行的格式,例如这里创建如下: 然后右键选择创建DataTable,对应结构体选择之前创建的: 接下里需要在蓝图中访问DataTable获取对应

    2024年02月16日
    浏览(41)
  • Unreal Engine05:UE4基本概念

    主要是介绍一下UE4中的一些常用概念。 参考的博客如下: UE4常用逻辑关系和说明; UE4入门学习4:C++编程介绍; UE4中基础的类及其之间的关系; [官方] 虚幻引擎 4 术语; 《图解UE4渲染体系》Part 0 引擎基础 UE4世界的主要结构如下: World (当前游戏世界,可以包含多个Level)

    2024年02月06日
    浏览(63)
  • ue4 unreal NDisplay插件 简易使用 三折幕 详细...

    仅支持4.27版本 NDisplay文档 https://docs.unrealengine.com/4.27/en-US/WorkingWithMedia/IntegratingMedia/nDisplay/Overview/ Switchboard文档 https://docs.unrealengine.com/4.27/en-US/WorkingWithMedia/CommunicatingWithMediaComponents/Switchboard/ 1.打开任意项目,开启两个插件并重启 NDisplay:多折幕插件 Switchboard:用于启动多折幕

    2023年04月17日
    浏览(55)
  • 初学UE5,UE4的教程适用UE5吗?

    UE5是最近推出的一款游戏引擎,相较于UE4而言,它有着更好的性能和灵活的工作流程,同时也引入了一些新的功能。对于一些游戏开发初学者来说,他们可能会想知道,是否可以通过UE4的教程来学习UE5。在这里,我们将介绍一下这个问题。 首先,UE5和UE4之间确实存在一些相通

    2024年02月06日
    浏览(53)
  • UE5 UDP通信 UE4.21-UE5.1

    目录 客户端,发送数据 1.建立字符串变量UDPConnection,绑定连接事件  2.连接初始化  3.发送数据  4.关闭UDP服务  服务器,接收数据 1.绑定连接事件  2.绑定数据接收事件  3.开启UDP服务  4.返回数据  5.关闭UDP服务   需要提供远程端IP地址和端口号 0.0.0.0表示监听所有ip,端口

    2024年02月15日
    浏览(77)
  • unreal ue 虚幻 导入HDR崩溃 显存不够的解决方案

    错误原文: out of video memory trying to allocate a rendering resource. Make sure yourvideo card has the minimum required memory, try lowering the resolution and/orclosing other applications that are running. Exiting... 我用的ue5 ue4同理 导入的截图,在preparing阶段就会直接崩溃   不用换Dx11,不用关光追,增加分页文件(虚

    2024年02月11日
    浏览(39)
  • UE(Unreal Engine,虚幻引擎)和Unity的区别与联系

    一、基本概念 游戏制作软件中最著名的两个游戏引擎是UE和Unity,二者有各自的特点和适用场景。 UE是指Unreal Engine(虚幻引擎)的简称,它是由Epic Games(Epic游戏公司)开发的一款高度先进的游戏开发工具。UE是一种3D图形渲染引擎,为开发者提供了一系列强大的功能,使他们

    2024年04月13日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包