UE4_ 在游戏中 通过按键或事件 动态修改物体材质

UE4 在游戏中 通过按键或事件 动态修改物体材质

  • 修改材质的两种形态
    • 1.替换物体的材质
    • 2.对同一个材质的参数进行修改。

这是我在bilibili的账号主页:
杨一鸣

修改材质的两种形态

现在我以我做的大富翁游戏里面的材质为例。1

1.替换物体的材质

首先需要知道静态网格体的属性,把一个静态网格体放置在世界中,点击它。
在右侧的细节中就会出现两个属性

  • Satic Mesh 当前物体的静态网格体模型
  • Materials 当前静态网格体的材质


当前物体的材质可能只有一个也可能有多个:
第一个材质的序号为0,第二个材质的序号为1…

游戏中修改材质需要在蓝图中添加事件,所以需要先把静态网格体添加到蓝图中,

  • 可以直接右键此网格体-资源操作 -使用此项创建蓝图,如图1
  • 也可以在已有的蓝图中点击添加组件-选择static mesh 如图2
    • 然后在新加的static mesh中的属性中选择想要添加的静态网格体 如图3
UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第1张图片 UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第2张图片
图1 图2
-----
图3

打开蓝图的事件图表,按住左键拖动需要修改材质的物体,放置到图表中
UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第3张图片
点击鼠标右键 创建一个事件 (添加自定义事件)命名为 改变材质 如图4
拖动static mesh的右侧节点 set material 如图5

UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第4张图片 UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第5张图片
图4 图5

在set material中UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第6张图片
“目标”对应着你想要的改变的材质物体
“Element Index”对应着之前的材质序号,你想修改几号材质,这里就填几
“material”对应着你想要改变的材质,
你可以手动选择需要更改的材质,也可以把他设置为变量,通过变量的方法修改材质。
-UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第7张图片
现在就需要通过事件调用更换材质这个事件
示例:可以在一开始就调用这个事件:如图6
也可以通过键盘事件来调用事件,使物体更换材质:如图7,图8
(你需要先创建另一个材质以供替换)

UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第8张图片 UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第9张图片
图6 图7
UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第10张图片 ←图8

现在开始测试:
刚开始的时候是默认的材质,如图9
当我按下键盘1的时候就变换成了我需要修改的材质,如图10

UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第11张图片 UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第12张图片
图9 图10

你也可以修改执行的事件来改变需要修改的条件,比如 受到碰撞在这里插入图片描述,受到伤害:UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第13张图片等事件来触发修改材质的事件。

2.对同一个材质的参数进行修改。

效果:比如当前材质中某个贴图的RBG通道进行修改,或者修改某一单独的颜色或透明值。
首先在蓝图中确定你的静态网格体为你需要修改的材质。
UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第14张图片
假如这个就是你当前物体的材质,按3加鼠标左键点击产生一个颜色,按1加鼠标左键点击产生一个数值。
分别赋给基础颜色,自发光颜色和不透明度。在左侧的细节面板中可以看到他们具体的数值。
UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第15张图片
分别对他们右键,转换为参数,起一个需要记的名称。
UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第16张图片 UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第17张图片

保存材质,返回到蓝图中。

Static Mesh拖出,创建材质实例Create Dynamic Material Imstamce 如图11,图12

  • 目标 指需要修改的静态网格体
  • Element Index 指你需要修改的材质序号
  • Source Material 指需要替换的材质 如果是当前材质就不需要替换
  • Optional Name 可选名称 默认就行
UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第18张图片 UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第19张图片
图11 图12

接着创建Set Vector Parameter Value 和Set scalar Parameter Value
第一个节点可以修改向量型的参数值,Paramter Name 填写刚刚创建的参数名称,Value修改需要改变的颜色。在这里我点击那个小方块修改为蓝色(之前为红色)。
自发光调整为1。
把目标连接到刚刚创建的动态实例return value的值。UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第20张图片

现在我们可以看看这次修改的效果。还是按1键调用更换材质事件。
UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第21张图片

可以看到没有按1键之前,蓝图物体是红色的如图13
我按了1,执行了更换材质事件后,物体颜色改为了蓝色,(如果是浮点型自发光,自发光会发出白光,太亮,遮住了蓝色的色调) 如图14
可以关掉太空光源看一下:
当物体没有改颜色时,一片漆黑,什么也看不见。如图15
自发光改为1后,会发出白色的光。如图16

UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第22张图片 UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第23张图片
图13 图14
UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第24张图片 UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第25张图片
图15 图16

现在给方块加一点东西,按1后旋转加变色:
UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第26张图片
更多用处:在材质中对添加的texture值通过参数修改,可以在拜访蓝图时更加方便。
UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第27张图片
UE4_ 在游戏中 通过按键或事件 动态修改物体材质_第28张图片


这样,简易道路图形材质设置就完成了。

更多ue4教学视频请看bilibili个人主页哦。
学习交流群:522836011


  1. 大富翁游戏 ↩︎

你可能感兴趣的:(虚幻4)