利用放射渐变制作简单的能量脉冲效果。

偶尔看到冲击波的效果,突然想UE4里面怎么实现。

最后想到RadialGradient(反射渐变&圆形渐变)这个节点可能符合要求。

鼓捣了下大概弄出了这样的结果:

利用放射渐变制作简单的能量脉冲效果。   

其大体思路是制作出一个移动的圆环遮罩,实现之后。可以干很多事情,比如加上马赛克效果

利用放射渐变制作简单的能量脉冲效果。

将值连入位置偏移

利用放射渐变制作简单的能量脉冲效果。

效果略显鬼畜利用放射渐变制作简单的能量脉冲效果。

当然还可以搭配透明或者溶解效果,实现物体炫酷登场的感觉,大家可以一一尝试,就不多说了。

下面是完整材质和分析

完整材质节点如下:

利用放射渐变制作简单的能量脉冲效果。

接下来分部分来解析。

首先

利用放射渐变制作简单的能量脉冲效果。

   这种地形扫描效果需要世界位置作为UV而不是空间位置,那么就需要使用WorldPosition这个节点,Mask出RG通道作为UV。

但是如果仅用世界坐标当作UV,圆圈的中心永远只能以世界原点为依据,考虑到一般是以玩家作为中心扩散,这里减掉CameraPositon,让玩家成为坐标中心。然后除以一个数值,控制uv值。

   接下来(黄框部分)重点

利用放射渐变制作简单的能量脉冲效果。

  我们来制作圆环,使用RadialGradient节点,这个节点会生成一个圆形黑白渐变图效果如下

利用放射渐变制作简单的能量脉冲效果。

那么,如何产生圆环?想像一下,用1-节点,对这个输出图进行处理,

我们获得:

利用放射渐变制作简单的能量脉冲效果。

然后两者再相乘,

利用放射渐变制作简单的能量脉冲效果。

当当圆环搞定中radius可以决定圆环的宽度,而density可以决定圆环的对比度。

然后,制作动态扫描效果(红框部分)

利用放射渐变制作简单的能量脉冲效果。

这里我一开始用的time+sine组合,但是有个问题··他会来回波动,使用clamp或者abs都不理想(怎么样都会有一个波动)

所以考虑了time加上Frac(去整),这样time的值整数部分会被抛弃掉,而小数会从0~0.99999然后0~0.999999·循环,这样radius就会扩散出去而不是来回波动了。

最后

利用放射渐变制作简单的能量脉冲效果。

常规调色操作,就不赘述了。

完毕。