400-650-7353

精品课程

您所在的位置:首页 > IT干货资料 > unity > 【Unity基础知识】UE4动态改变物体颜色

【Unity基础知识】UE4动态改变物体颜色

我们在使用或者开发虚拟仿真软件的时候经常会遇到这样的需求:点击某个按键让物体改变颜色。那么面对这样的需求时我们应该从哪些方面着手呢?

通过分析可以得知,我们需要准备以下内容:1)可以变色的材质;2)可以接受用户输入的蓝图(如果使用按键)。

第一步:准备可以变色的材质。

在UE4中材质的动态改变需要借助参数来实现。我们首先在内容浏览器中点击右键选择Material创建一个基本材质,双击打开。

打开之后创建一个Const Vector3节点和两个Float节点,前者控制颜色,后者控制Metallic和Roughness,连接如下图所示。

接下来,需要将颜色变为参数,直接在Const Vector3节点右击选择Convert to Parameter,并且设置参数名称为Color(后面会用到这个参数)。

第二步:接受用户输入。

我们需要创建一个蓝图类,在蓝图类中集中处理输入和变色的逻辑。直接在内容浏览器中点击右键选择Blueprint Class,在弹出的选择父类窗口中选择Actor作为基类,重新命名为BP_ColorChanger,创建好之后如下图所示。

接下来,双击打开新创建的BP_ColorChanger蓝图。在左上角的组件面板中点击AddComponent按钮,添加一个Static Mesh组件,添加完成之后选择这个组件,在属性面板中找到Static Mesh,设置该属性为Material Sphere,并将Materials分类下Element0设置为第一步中创建的材质球,效果如下图所示。

切换到Construction Script标签,将Static Mesh组件从组件面板中拖拽到节点视图面板中。搜索Create Dynamic Material Instance,并创建变量,命名为DynMat,如下图所示。

切换到EventGraph标签,删除所有节点,我们这个案例中暂时用不到。我们需要按下R键变成红色,按下G键变成绿色,按下B键变成蓝色。

在节点视图中点击右键搜索R发现有很多符合要求的节点,为了方便快速的找到键盘上的r键,这里推荐给大家一个小技巧,搜索keyboard r可以过滤掉很多节点。

创建R键的点击事件,将上一步中创建的DynMat变量拖拽到节点视图中并搜索Set Vector Parameter Value节点,将其参数设置为Color和红色,如下图连接。

默认的Actor蓝图类是不接受用户输入的,需要简单设置一下。点击Class Defaults,在属性面板中搜索input,设置Auto Receive Input为Player0即可。

点击Compile,将新创建的蓝图类拖拽到关卡中,点击Play,模型变成红色,说明我们的效果基本实现。

用同样的方式和思路可以实现变成绿色和蓝色的操作。我们小案例到此就结束了。

学习疑问申请解答
您的姓名
您的电话
意向课程
 

中公优就业

IT小助手

扫描上方二维码添加好友,请备注:599,享学习福利。

>>本文地址:
注:本站稿件未经许可不得转载,转载请保留出处及源文件地址。

推荐阅读

测一测
你适合学哪门IT技术?

1 您的年龄

2 您的学历

3 您更想做哪个方向的工作?

获取测试结果
 
课程资料,活动优惠 领取通道
 
 
Baidu