习惯了substance designer里制作,在到其他软件的材质编辑器里,就会发现很多基本图形都制作不方便,下面就对比了三种材质不同的材质编辑器,包括了unity3d,ue4游戏引擎的材质编辑器和maya离线渲染的材质编辑器,想体会下不同材质编辑器里制作同一种效果会有什么样的感受,当然因为方法多样,这里就放上我最开始能想到的方式。
故事背景,unity3d使用的以前的shaderforge 因为以前用惯了,高清渲染管线那一套还不习惯,ue4么就是平常的材质编辑器,maya是使用的arnold渲染器节点。
1 首先就是经典的画圆
原理就不多说了,直接求距离,然后截数值。
ue4也同理,制作方式都是利用uv和距离构建圆形,然后就是各种方式截出清晰的圆。游戏引擎的编辑器似乎没啥区别。
渲染器也类似,不过因为arnold貌似直接截断了uv负值,按上面的方式会有四分之一块是完全黑的,所以就干脆不用负值了,可以看左上角直接用了镜像uv重复方式。(一路ipr渲染,没专门开节点预览,因为我担心出问题...)
总的来说游戏引擎之间没什么区别,渲染器可能更要注意下uv问题,还有颜色数值有效范围,其他也只有一些数值映射节点需要自己对照一下。(这个很想吐槽maya的材质编辑器)
2 画方
这个其实还是利用uv,制作两个矩形,然后叠起来。
ue4里面试了试两种方式,连着连着我居然发挥了下想象力。
渲染器也没啥问题,除了连线不方便(...)
下面除了基本图形以外试试其他一些特性是否存在或者相同?
雪线,normal方向
这种方式通常可以用来投射纹理之类引擎渲染都常用,这里基本都是一个节点搞定,唯一注意的就是不同编辑器里节点的名字都是不同的。
屏幕空间深度
引擎里的深度节点花样繁多,涉及到多种节点和效果,当然也涉及到各种可视化问题,这里就不多展开。
shaderforge其中一个depth blend 在alpha blended模式下连到basecolor上的效果,比如制作水里的柱子等等。
ue4里的其中一个DepthFade一个有的物体和没有这个属性的物体能得到融合,一般用来做河流,软粒子等等,连到basecolor上类似局部的雾气,材质必须是translucent模式。
渲染器里也有,不过么几乎没见过用的,一般出片会出深度通道直接作为合成的素材,作为后期景深调色等等之用,其实这个也和游戏引擎当中通常的滤镜工作原理类似。
好了,作为游戏引擎和离线渲染的材质编辑器节点对比探索暂时就到这里,其实这里面有很多原理方式都很类似,当然各个不同材质编辑器也有自己的特点和不足,比如rgba直接带展开,可以直接嵌入代码等等。实际工作流程上因为游戏引擎的优化和效果,所以有更多材质上的奇技淫巧,这方面渲染器则显得比较朴素(一般项目上),但该有的节点还都是有的。
当然也因为渲染方式的不同,不同材质编辑器除了算法类以外也不尽相同,包括节点使用和流程上效果的实现,这也是材质搬运党探索的一大乐趣。