UE4的csv文件导入、URL地址的读取及动态材质的设置
1.csv文件的导入
UE4是可以直接导入csv文件的,其过程和其他文件资源(图片Texture,静态网格物体StaticMesh等)相似,但在导入过程中有一些需要注意的点。
如下图所示

这是一份编辑好的csv文件,里面的字段名称和数据类型都是需要统一的点,同时在所有数据行前需要有目录ID,这是区别于第一个字段的,如果忽略ID的编辑,在导入时会出现提示:无法识别name字段数据,这是因为UE4软件将name的数据识别成目录ID,导致name字段的实际数据为空。
其余字段的数据只需要注意类型统一即可,一般来说最通用的就是string格式(类似于万精油),如果需要格式转换可以在UE4软件中进行。
在编辑好csv文件之后保存,在UE4软件中直接导入即可,导入之后会自动生成为一个Data Table类型的文件,如下图所示

在UE4内容浏览器中创建一个Structure用来承载该Data Table的数据,必须保证变量名称和csv文件中的字段名称相同,避免数据混乱,数据类型也应该保持一致。

2.URL地址读取及动态材质设置
UE4可以直接读取到网页的URL地址,并进行地址图片的下载。
首先创建一个Actor蓝图,在View视图中添加一个Cube组件,在组件内部添加3个Text文档输入,分别作为csv文件的name,description和hp的载体。

在内容浏览器中创建一个简单的材质,并添加实例,将实例的TextureSample转换为变量,在实例中勾选该变量,使其成为可编辑状态,同时将该材质实例赋予Actor蓝图的Cube。


返回Actor蓝图中,创建材质实例的动态变量

同时创建一个自定义函数

给自定义函数添加4个输入节点,分别对应csv文件的4个字段,将前面3个字段分别赋予Text,这里在连接节点时会自动进行类型转换。将第4个关键数据URL地址连接到DownloadImage函数上,成功时将其下载的Image自动转换成Texture并赋予材质实例的TextureSample变量,达到动态更换材质的效果。
往关卡中拖放3个Actor蓝图实例,打开关卡蓝图进行函数的编写。

首先获取到关卡中所有的Actor蓝图实例,然后读取csv文件生成的Data Table文件数据,对其进行循环遍历,将遍历的结果赋予事先创建好的Structure,并将其输出到自定义函数的节点中。
运行关卡,可以看到结果

UE4的csv文件导入、URL地址的读取及动态材质的设置的更多相关文章
- CSV文件导入到数据库中读取数据详解(接着上个帖子)
一.controller层 二.SERVICE层 @Overridepublic Result importJinjiangAssessResult(MultipartFile file) throw ...
- Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
1.简介 本文主要给大家介绍了关于Laravel 5用Laravel Excel实现Excel/CSV文件导入导出的相关内容,下面话不多说了,来一起看看详细的介绍吧. Laravel Excel 在 ...
- SQL Server:把CSV文件导入到SQL Server表中
有时候我们可能会把CSV中的数据导入到某个数据库的表中,比如做报表分析的时候. 对于这个问题,我想一点也难不倒程序人员吧!但是要是SQL Server能够完成这个任务,岂不是更好! 对,SQL Ser ...
- 把CSV文件导入到SQL Server表中
保存数据库数据直接查询select * from tableName 在数据表格的左上角右击——将结果另存为选择路劲保存好的就是.csv格式的数据 有时候我们可能会把CSV中的数据导入到某个数据库的表 ...
- C# ASP.NET CSV文件导入数据库
原文:C# ASP.NET CSV文件导入数据库 using System; using System.Collections.Generic; using System.Text; using Sy ...
- [转]csv文件导入Mysql
本文转自:https://blog.csdn.net/quiet_girl/article/details/71436108 本篇博客主要讲将csv文件导入Mysql的方法(使用命令行). Step1 ...
- 将CSV文件导入到hive数据库
将csv文件导入hive后出现了所有的字段只显示在新建的表的第一个字段中,后面的字段全是null. 出现这种的原因是hive以行分隔数据,需要修改为按逗号' , ‘ 进行分隔读取, 具体操作如下, ...
- MySql csv文件导入导出
一.导出到csv(本地导出) 通过mysql客户端shell连接到服务器,选择使用的数据库,输入sql代码: select * from test_info into outfile '/tmp/te ...
- 2017年4月8日Office 365 使用CSV文件导入邮件组
国内版 第一步: Import-Module msonline Connect-MsolService 输入用户名密码 第二步: Get-MsolUser" 第三步: Set-Executi ...
随机推荐
- Angular待办事项应用2
todo组件 接上一篇,在根目录创建todo组件 命令行输入:ng g c todo 得到 文件结构 修改默认路由为todo: 然后打开浏览器:http://localhost:4200/ ,查看,t ...
- Why we should overwrite the hashCode() when we overwrite the equals()
Preface Though I have used Java programme language for almost a year, I'm not familiar with a notion ...
- JSP学习笔记(1)-JSP简介
1.什么是JSP? JSP是Java server page的缩写,有sun公司倡导,许多公司参与,于1999年推出的一种web服务设计标准.JSP基于Java Servlet以及整个java体系的W ...
- C# 运算符 ++在前与++在后实例分析。
首先记住计算技巧“++在前先+1,++在后后+1”. static void Main(string[] args) { int i = 10; Console.WriteLine(i);//此时i的 ...
- sublime3中如何快速生成html头部信息
前提要安装Emmet 插件:已经结束了啊,不要以为下面的操作跟问题有关,下面是具体的生成头部信息方法 输入下边加粗的缩写,然后Tab,就可以了: 生成html4.01 Transitional用 ht ...
- AJAX-XMLHttpRequest和本地文件
网页中可以使用相对URL的能力通常意味着我们能使用本地文件系统来开发和测试HTML,并避免对Web服务器进行不必要的部署. 然而当使用XMLHttpRequest进行Ajax编程时,这通常是不行的. ...
- marquee 滚动到文字上时停止滚动,自定义停止方法
我要实现的效果如下图:当鼠标移到续费提醒文字上时,文字滚动停止,并出现后面的关闭按钮:当鼠标移出文字时,文字继续滚动,后面的关闭按钮不显示. 在网上查到的marquee停止滚动的的代码是这样的: &l ...
- Jquery对于input事件的处理
Jquery对于input事件的处理.获取此表单元素,以及其内容 .text()不能使用在表单选项上 要使用.val() input元素使用类似onblur(this),事件在function(obj ...
- C#+SharpMap的相关代码
//放大的代码: private void MapZoomIn(NameValueCollection queryString) { SharpMap.Map map = Session[" ...
- web 学习资源
学习 https://skills.bugbank.cn/ https://github.com/JnuSimba/MiscSecNotes 靶场 http://skysec.top/2018/01/ ...