这次是做个测试,看看材质通用性
为了方便使用的是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