水材质——水泡沫(图像极坐标化)


极坐标尝试



相当于把一张图片的两边黏在一起,并且内圈和外圈会产生压缩和拉伸;
距离场和极坐标的结合制作水泡沫Foam
极坐标化UV
这里用的是UE的Logo,能够比较直观地观察到极坐标化的UV是什么样的。记得得让UV的原点便宜到中心才行。



使用距离场
使用距离场前先到项目设置里开启距离场

并且把水平面网格体本身的距离场关闭,不然会有影响

距离场主要有两个节点,一个是方向,另一个是距离


是不是觉得这两个东西有点像?


所以我们直接对距离场方向的结果极坐标化,并取方向的R通道作为U,距离作为V,组成UV坐标


使用纹理
到此为止,基于距离场的极坐标UV算是做出来了,现在需要一张纹理用于模拟水泡沫的形状,这里用的是这张,商城的一个免费卡通水场景里带的一张贴图。
这里还需要把MipMap调成无,不然可能会有接缝

目前可以忽略连在中间的Panner,这是用于调整Foam的移动的。目前效果是这样,看上去有点意思了,只需要再限制一下范围就差不多了

这里我用的是If节点,A连接的是距离场最后算出来的范围。这里的泡沫看起来粗了很多,因为在限定边缘前提下,还相当于把纹理反向了一下,我觉得粗点比较好看。

正常去除可以用个乘法,不过边缘没这么硬

或者你可以这样,这样相对好理解一点

方法总比困难多,相信自己能做出来
至此,水泡沫就做完了,把它当作一个遮罩用就行
再记录一下另一种水波纹,有点像水滴滴入水面产生的水波纹。

