zoukankan      html  css  js  c++  java
  • 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,并将其输出到自定义函数的节点中。

    运行关卡,可以看到结果

  • 相关阅读:
    牛客寒假5-D.炫酷路途
    牛客寒假5-A.炫酷双截棍
    HDU-1024
    牛客寒假6-J.迷宫
    牛客寒假6-G.区间或和
    牛客寒假6-E.海啸
    【BZOJ3456】—城市规划(生成函数+多项式求逆)
    【BZOJ3456】—城市规划(生成函数+多项式求逆)
    【TopCoder SRM548 Div1】—KingdomAndCities(组合数学)
    【TopCoder SRM548 Div1】—KingdomAndCities(组合数学)
  • 原文地址:https://www.cnblogs.com/songiveideas/p/learnmore8.html
Copyright © 2011-2022 走看看