unity 仿ue4湖水效果


这次是做个测试,看看材质通用性

为了方便使用的是untiy 5.6 + shaderforge 1.38

下面是最后的效果(当然比起ue4里面还添加了一些,用的线性空间和deferred模式)


下面是ue4原本的


因为主要是法线上的效果,unity在法线和光照效果上还是差挺多的


连节点中还发现深度信息和ue4略有不同这个要注意


而且在测试中还发现了shaderforge的bug

当然depth相关节点最终连接到normal节点的话会报下面的错

Shader error in ‘Shader Forge/test’: undeclared identifier ‘partZ’ at line 106 (on d3d11)

但是只需要改源码,把partZ声明放在使用之前就可以了


下面是第一个版本的shaderforge节点

基本和ue4那个很像,需要注意的是某些节点虽然和ue4很像,但是略有不同


预览是错误,因为需要改源码,但每次改过后,shaderforge打开又会开回来

这个bug其实挺多见的,节点连多了,各种bug就出现了

效果如下



但是这个缺少放入物体虚化的效果,于是又改了下

效果就是第一幅图的了,注意这个需要开启透明,使用的时候只能是不透明的物体放入水中,否则会有深度问题

节点如下


预览也是这个问题,shader文件里直接改

放上改好的shader下载地址(注意只有shader文件)

http://download.csdn.net/download/shenmifangke/9991699