水这一块,其实我完全不知道咋做,水太深了


大概说一下就是:
水面波纹可以用至少3层的水波函数去叠。最简单的可以是Perlin Noise(做云的),或者是Voronoi(做山脉的),也有可能是其他函数。反正哪个都不好写。加上曲面细分就更难了。
水体的颜色一般是用一个渐进查找表去做,输入参数是水的深度,输出颜色和透明度。
折射一般是使用一个单独的RenderPass,在渲染后根据水体表面法线方向进行折射。
水下部分一般就是加个指数雾。从水面开始向下,雾的浓度呈指数上升。
当然,要加个优化——离摄像机太远的水底物体,一律剔除掉。
水与岸的交互这块....emmmm....完全不会
