本文以游戏运行时修改小球颜色为例介绍了如何动态求改物体的材质参数
效果演示小球原本是绿色的,当按下E
键,小球变成了红色
本文的重点是改变颜色,触发事件我们使用键盘事件作为演示
文章目录
0. 在场景中添加一个StaticMeshActor
- 效果演示
- 0. 在场景中添加一个StaticMeshActor
- 1.自定义材质
- 2. 创建蓝图
- 运行一下
- 小结
在场景中添加一个StaticMeshActor
并更名为"Ball"
新建一个Material
并命名为BallMaterial
,这个材质的逻辑很简单,只要添加一个VectorParameter
节点,并将它连接到材质的BaseColor
通道就可以了,把这个节点的默认值设为(0,1,0)
即绿色
注意: 这个VectorParameter
节点我将它更名为"Color",这个"Color"就是我们未来要修改的参数
把材质拖拽到小球上
这个蓝图的作用就是实现事件响应并更改小球的颜色
"Ball_BP"是这个蓝图的名字,它的父类就是
StaticMeshActor
开启它的输入事件响应
逻辑非常简单,使用Set Vector Parameter on Materials
节点给刚才我们在"BallMaterial"上定义的Color
参数赋新的值就可以了。
类似地,我们不仅可以通过Set Vector Parameter on Materials
动态修改材质的向量参数,也可以通过Set Scalar Parameter on Materials
修改它的标量参数