UE4 材质切换(带动画效果)

先看效果图:小木块掉到地板上(小木块本身会消失掉),地板就开始了动效材质切换。引擎版本用的是4.11.2

UE4 材质切换(带动画效果)_第1张图片

方法步骤:

首先在UE4内容浏览器中新建一个材质.

第一步要实现一个扫光的效果,如下图。

UE4 材质切换(带动画效果)_第2张图片

实现这个效果的材质节点如下

UE4 材质切换(带动画效果)_第3张图片

这里有个地方说明一下,因为我这里地板动态扩散效果是沿着Y轴正方向,的所以上图红色线框处Mask值取的是G(RGB=XYZ),可以根据不同情况自己取不同的值。

2、把扫光白条换成自己理想的纹理。在上一张截图Base Color 与最后一个节点之间添加如下材质节点

UE4 材质切换(带动画效果)_第4张图片

就可以得到如下效果

UE4 材质切换(带动画效果)_第5张图片

接下来添加底色的变换,增加的材质节点如下图

UE4 材质切换(带动画效果)_第6张图片

从Substract节点拉了一条分支线出来把最后的lerp结果接在了与BaseColor节点相连接的lerp节点上,就会得到如下效果图

UE4 材质切换(带动画效果)_第7张图片

接下来是法线处理,材质节点如下,注意红色线框处

UE4 材质切换(带动画效果)_第8张图片

最后要实现场景中动态触发效果,需要做如下处理

把这三个节点

UE4 材质切换(带动画效果)_第9张图片

替换成下图三个节点,红色线框纹理采样主要是用来改变扫光线条形状效果(默认是规则矩形,这里是带波纹起伏的贴图,可以让扫光线条出现不规则的波动效果)

UE4 材质切换(带动画效果)_第10张图片

最后是触发蓝图:我给木块添加的变量

UE4 材质切换(带动画效果)_第11张图片

GwoodFloor 就是地板的引用,BHitFloor 标记是否撞到了木板,FloorMat 材质实例变量,TimeCount 输入到材质里面的时间,这里默认值我给的是1.

木块碰到地板后的处理

UE4 材质切换(带动画效果)_第12张图片

Tick调用,上一图代码中,木块碰到了地板后设置BHitFloor为True,tick函数调用的时候就会不断的时间值传递到材质实例里面在这里插入图片描述就是这个节点,直到时间累计值达到了3。

UE4 材质切换(带动画效果)_第13张图片

你可能感兴趣的:(UE4材质,UE4,材质切换)