之前两篇讲了水面基本的反射折射以及浪花,水深效果,这篇讲一下利用shaderGraph做伪焦散效果,如图:
由于真实的焦散效果需要大量的计算,非常复杂,这次采用的方法是用shadergraph里的voronoi噪声图加上时间上的扰动采样,直接显示在水面的网格上,而非水下。
直接上shadergraph的图:
voronoi节点初始是这样的:
在angle offset添加时间变量后里面像细胞一样的单元就会移动起来了。
在uv节点上加Twirl效果,使得到的采样稍微扭曲一些。
power调节黑白部分的比例。
最后再乘上了通过深度纹理计算的水的深度(在上一篇中介绍过),这样在水浅的岸边焦散效果更强,往水深处便消失,更加贴合现实规律。
输出的时候乘上一个自定义的焦散颜色(图上给了一个偏金色的颜色)再与其他颜色相加就可以了。
下一篇讲模拟海浪的Gerstner顶点波以及法线的重新计算