UE4读取scv文件 -- 数据驱动游戏性元素
官方文档链接:http://docs.unrealengine.com/latest/CHN/Gameplay/DataDriven/index.html
略懒,稍微麻烦重复的工作,总希望能找人帮忙一起做,但是有人对于稍微一点点的规则他都理解不了(主要也是懒,不想做),于是我从xml来到了scv文件,scv文件可以从Excel文件中导出,也可以在Excel里面编辑,于是帮忙的人也就是需要在Excel里面填入数据即可。
1.我定义了这么一张简单的表格,这里的中文才是后面有坑的地方
2.需要在UE4定义对应的数据格式,这里提供两种方式
a.蓝图定义数据结构:
b.c++定义数据结构,记得数据结构名称F开头,编译:
/** Example Data */
USTRUCT(BlueprintType)
struct FExampleData : public FTableRowBase
{
GENERATED_USTRUCT_BODY() public: /** Name */
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = ExampleData)
FString Name; /** Age */
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = ExampleData)
int32 Age; FExampleData()
{
Age = 0;
}
};
3.将Excel另存为.csv并用Notepad++或者记事本将其转为utf-8的编码格式,导入UE4后会是乱码,将.csv文件拖入UE4中,他会要求你选择一种数据格式,拉开选项就有开始我们定义的两个选项,一个BP_StructExample, 一个ExampleData,因为定义的一样的格式,这里选择谁都可以。
我这里选择C++定义的结构,方便后面在C++中直接调用数据(蓝图一样de)。
4.调用数据:
FExampleData* _ExampleData = Example->FindRow<FExampleData>("002", "data002");
GEngine->AddOnScreenDebugMessage(-1, 10.0f, FColor::Red, _ExampleData->Name+ FString::FromInt(_ExampleData->Age));
5.运行结果:
6.假如我们最开始的Excel不见了,又需要其他人帮忙更改数据,我们就需要再将UE4的数据导出为CSV
7.然后你用Excel打开csv,你就会发现他所有数据都在第一格,或者乱码了,这里我们需要将他的编码如上改为ANSI,再用Excel打开就可以正常编辑了。
UE4读取scv文件 -- 数据驱动游戏性元素的更多相关文章
- JAVA读取XML文件并解析获取元素、属性值、子元素信息
JAVA读取XML文件并解析获取元素.属性值.子元素信息 关键字 XML读取 InputStream DocumentBuilderFactory Element Node 前言 最 ...
- Selenium(Python) ddt读取CSV文件数据驱动
import csvimport unittestfrom time import sleep from ddt import ddt, data, unpackfrom selenium impor ...
- Selenium(Python) ddt读取Excel文件数据驱动
首先, 引入xlrd模块: ExcelDDT.py: import unittestfrom time import sleep from ddt import ddt, datafrom selen ...
- jqery ajax读取json文件
json文件数据 [ {"name":"哈哈··","email":"邮箱01","gender": ...
- UE4的csv文件导入、URL地址的读取及动态材质的设置
1.csv文件的导入 UE4是可以直接导入csv文件的,其过程和其他文件资源(图片Texture,静态网格物体StaticMesh等)相似,但在导入过程中有一些需要注意的点. 如下图所示 这是一份编辑 ...
- selenium java读取csv文件 (数据驱动)
javacsv2.1 下载地址:http://sourceforge.net/projects/javacsv/files/ 该链接可以下载java读取csv文件的jar 包.下载之后解压找到对应的. ...
- Java读取properties文件连接数据库
先说为什么要有这种东西,或者我们为什么要用这种方式来写,先看经常用的方法,我们经常写的 package util; import java.sql.Connection; import java.sq ...
- STL简洁 && c++读取cfg文件
在c++工程中,往往需要修改一些变量来实现不同的功能效果,这是cfg文件的使用可以使得工程更加高效与便利,这篇文章介绍的就是c++读取cfg文件的相关内容,以便及时总结和日后回顾. STL即标准模板库 ...
- 自动化测试框架selenium+java+TestNG——读取csv文件
读取csv文件可以直接读取,也可以使用javacsv.jar,后者比较简单,这个也可以变相认为是对表格的处理,我们可以在表格中做好数据,存储成csv格式的文件,后续对xlsx表格的操作抽个时间再记录下 ...
随机推荐
- 组合数问题(zyys版)
[问题描述]定义"组合数"S(n,m)代表将 n 个不同的元素拆分成 m 个非空集合的方案数.举个栗子,将{1,2,3}拆分成 2 个集合有({1},{2,3}),({2},{1, ...
- LOJ #6041. 事情的相似度
Description 人的一生不仅要靠自我奋斗,还要考虑到历史的行程. 历史的行程可以抽象成一个 01 串,作为一个年纪比较大的人,你希望从历史的行程中获得一些姿势. 你发现在历史的不同时刻,不断的 ...
- STL注意比较函数
可重复插入?: set<int ,less_equal<int> >s; s.insert(10); s.insert(10); 第二次调用insert,集合回去确认10是否已 ...
- ●POJ 2187 Beauty Contest
题链: http://poj.org/problem?id=2187 题解: 计算几何,凸包,旋转卡壳 一个求凸包直径的裸题,旋转卡壳入门用的. 代码: #include<cmath> # ...
- 【bzoj3173-最长上升子序列-一题两解】
这道题不就是简单的DP吗,BZOJ在水我!不,你是错的. ·本题特点: 不断向不同位置插入数字(按数字1,2,3,4,5,6……),需要求出每一次插入后的最长上升子序列. ·分析 ...
- bzoj 3631: [JLOI2014]松鼠的新家
Description 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在"树&q ...
- Docker 基础 : Dockerfile
Dockerfile 是一个文本格式的配置文件,用户可以使用 Dockerfile 快速创建自定义的镜像.我们会先介绍 Dockerfile 的基本结构及其支持的众多指令,并具体讲解通过执行指令来编写 ...
- thymeleaf:局部变量 th:with
当th:with被处理,firstPer变量创建一个局部变量和变量添加到map自上下文,以便它是用于评估和其他上下文中声明的变量从开始,但只有包含< div >标记的范围内. <di ...
- 简单的国际化i18n
就是简单的中英文转换 index.jsp <%@ page language="java" contentType="text/html; charset=UTF- ...
- OkHTTPClient
一,OKHttp介绍 okhttp是一个第三方类库,用于android中请求网络. 这是一个开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司贡献(该公司还贡献了Picasso和Leak ...