ps:先把之前记录的扔上来,事后再补充和整理。
水材质
法线
颜色:菲涅尔
深度
模拟法线:通过点乘模拟光影效果叠加在颜色上
勾选直射光源的大气太阳光选项后
光的方向可以转换为
节点中的向量
点乘顶点法线得到明暗关系
用之前的法线节点代替此处法线,获得法线在光照下的明暗效果
把这个明暗效果乘上之前菲涅尔做的水表面颜色与深度lerp后的效果
制作水表面高光
首先,用下面的方法获得一个近似入射光的反射光线的向量
这个向量点乘Camera Vector获得高光,然后使用power控制范围,multiply控制强度
最后用之前连好的水的法线贴图替换掉顶点法线。
最后Add加上之前写的水的颜色(包括深度 颜色 模拟法线效果),连基础颜色
就能看到随着波浪起伏的高光了。
PS:为什么使用模拟的?省性能
事实上,把光照模式修改为表面向前着色,可以在混合模式半透明的同时让金属 高光度等PBR模式属性生效,但这样消耗会严重超额(即使什么都不写也是如此)
反射
反射:把HDR贴图映射到材质中
(当然采集环境信息然后投影更好,但直接投影贴图省性能)
这么连好后与颜色lerp,然后继续连到模拟法线效果上
此时反射的光效是不会跟着法线动的,因此修改贴图的uv
将水体法线先通过ConstantBiasScale重新映射到-1到1(以此来使得水会左右动,更自然一些),如图操作。
这样效果就比较自然啦。
反射范围控制