毛神 @浅墨_毛星云 整理的图
一,波形
1.正弦波
波形出来了,但着色不对,法线没有随着顶点一起变化,需要重新计算法线。
2.Gerstner波
正弦波在竖直方向上运动,Gerstner波在正弦波的基础上增加了水平方向上的运动。
X轴
Z轴
单层波效果太单一,再叠加一层看看
叠加多次可以增加更多细节,模拟水面一般需要64或128层,性能方面存在一定压力。
3.FFT
https://zhuanlan.zhihu.com/p/211268502
可以参考这篇文章,写的比较详细。
二,着色
1.利用视空间下的深度值计算深水区和浅水区颜色
做个lerp
2.扰动
采样深度图和不透明图时在UV上加入偏移量
3.法线
不同UV采样同一张法线
4.边缘透明
算出边缘mask
取反
和不透明颜色做个lerp
5.泡沫
利用上面算出的边缘Mask,叠加一张泡沫贴图
6.焦散
7.反射
参考之前的文章https://blog.youkuaiyun.com/m0_58594062/article/details/139772759?spm=1001.2014.3001.5501
三,最后效果