游戏运行时使用蓝图修改标量/向量参数值,值改变了但是显示效果无变化

我运行游戏时在蓝图里把一个材质实例设置为动态材质实例后用set scalar parameter value和set vector parameter value改变这个材质实例的宽度和颜色,在运行中获取到的宽度值和颜色值改变了,但是显示效果没有变化,有大佬知道是什么原因吗?




542QBNI8%}T30TKXW5CN3G

使用的翻译。
如果您附上蓝图和材料的截图,我们会更容易为您提供建议。

这样如何?


我的蓝图部分和你写的差不多,材质里的material domain 设置的是post process ,在游戏运行时改变color和width的值,显示效果没有改变

啊,您使用的是 PostProcess。

PostProcess 需要在世界上放置一个 PostProcessVolume。

PostProcess 也可以添加到 Actor 组件中。
image

当摄像机进入此卷时,将启用 PostProcess。
image

一旦设置好 PostProcessVolume,就必须设置 PostProcessMaterial。


image

这样如何?

这个PostProcessVolume我放置了。
我用简单的材质实例可以在游戏运行过程中观察到效果的变化,但当我使用轮廓线材质实例时无法在游戏运行过程中观察到效果的变化

嗯,什么是 “轮廓线材质实例”?
我无法回答这个问题,因为我手头只有一个简单的问题。

有一点可以肯定的是,如果用一个简单的例子就能做到,而用 "轮廓线材质实例 "却做不到,那就有可能是 "轮廓线材质实例 "不正确。

我好像搞错了,刚刚试了一下,简单的材质实例也不能在游戏运行中观察到变化
感谢你的帮助

下面是一个简单的蓝图。
游戏开始时它会变成绿色,3 秒钟后会变成淡蓝色。

像这样准备一个简单的 PostProcessMaterial。

PostProcessComponent 必须是 Volume(而不仅仅是 Cube)的子组件。
记得将其设置为 PostProcessMaterial。
将其设置为 Unbound 会对整个世界进行PostProcess。

将您创建的 Actor 放置在世界中时,屏幕会变成白色,如图所示。

这是真实的视频。

这样如何?

image
请问这个函数是怎么来的?我没有找到这个函数

实在是太感谢了,我实现了我想要的效果。

享受 UE! v(・。・)v

1 Like

如果有人看到这里,请注意第一张图中的“Get”要使用“get(a ref)”,使用“get(a copy)”是没有效果的

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.