接下来实现对原图像的的uv0.x进行偏移的效果。这个效果可以拆分成以下几点
1、需要一个周期性随机变化的在-0.5到0.5之间的伪随机值,这个值只和uv.y相关
2、将1中的值作用在uv.x上,这样对于相同的uv.x,这一行的偏移值都是相同的
对于1的实现,我们采用一个程序噪声贴图的办法。创建一个simplenoise节点,使用经过加时间偏移后的uv.y, uv.y这个只和y相关的uv坐标对噪声图进行采样,采样的值显然是基本对称落在0-1之间的,这时候我们使用remap方法,将0-1的值映射到-0.5到+0.5(此处可以直接进行减0.5操作)
将uv.x的偏移应用之后,我们发现图像的扭曲效果有些过大,基本很难辨认出原来的图像了。在这里我们希望将这个扭曲效果再作用到一个随机的0-1区间的数上,增加随机性和降低扭曲的效果。这个随机数是周期变化并且只和时间有关的,即同一时刻这个缩放的倍率是相同的。我们使用time,time这个uv坐标对一张噪声贴图进行采样,为了使效果夸张,在使用指数运算进行放大,将放大后的值作用于原来的x偏移上。
最后,我们将周期性条纹和周期性x偏移的结果进行作用,就得到了最终的带条纹的效果。