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

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

  • 来源:Unity干货资料
  • 2021-07-07 17:40:30
  • 阅读()
  • 分享
  • 手机端入口

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

通过分析可以得知,我们需要准备以下内容: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,模型变成红色,说明我们的效果基本实现。

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

文章“【Unity基础知识】UE4动态改变物体颜色”已帮助

>>本文地址:https://www.ujiuye.com/zhuanye/2021/69179.html

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

1 您的年龄

2 您的学历

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

获取测试结果
  • 大前端大前端
  • 大数据大数据
  • 互联网营销互联网营销
  • JavaJava
  • Linux云计算Linux
  • Python+人工智能Python
  • 嵌入式物联网嵌入式
  • 全域电商运营全域电商运营
  • 软件测试软件测试
  • 室内设计室内设计
  • 平面设计平面设计
  • 电商设计电商设计
  • 网页设计网页设计
  • 全链路UI/UE设计UI设计
  • VR/AR游戏开发VR/AR
  • 网络安全网络安全
  • 新媒体与短视频运营新媒体
  • 直播带货直播带货
  • 智能机器人软件开发智能机器人
 

快速通道fast track

近期开班时间TIME