又是鸽了一个月没有发新文章,好舒服啊~

最近用SD做了几个我的世界的材质,效果都还挺好的。不过应该是没时间继续做了,在忙着做其他的东西。

这些个经验大部分都是从官方的泥土教学中总结的,一些是其他的文件研究过程中总结的。

前提声明:

只是个人经验,不作为定律。可以按着需求随时变化。

使用Base Material作为输出贴图的中转

优点有很多,一个是Base Material中,可以自定义一个纯色作为输出通道的临时信息,而不用创建六七个uniform color来调整,这样便于调整,也便于别人查看阅读。尤其是我下载了很多source里的sbs文件,那些大佬做的确实好,节点连的也确实是烂的一逼…

比如这是我跟着教程做的节点图。

这个是教程提供的sbs文件…

善用新增节点来调整节点的布局也很重要,最起码自己回头看的时候也能更轻松。

另外说一句,不知道为什么,Base Material默认状态下,Height有一个类似于Histogram Range的调节参数,默认下Height Range是0.5,需要改为1才能保证和输入的高度信息是一样的。如果觉得高度需要调整,我们可以在Base Material外进行调整,不需要在这里调节。

另外,Base Material可以作为节点检测来使用,我们可以将任何一个节点连接到base material的height、normal、ao节点,来查看当前节点的效果。这个在研究其他人的工程时很有用。

使用Normal层配合Height转color层

normal上面的节点就是Height节点了。

这么做的原因是为了加强细节,一般来说,Height的灰度图都是柔和的渐变,很少有特别锐利的。因为我们不管做什么高度,都不会是突然的直上直下,都是有一定的坡度的。有坡度就表示渐变的很柔缓。

但是如果直接拿Height用作颜色节点,就会少很多细节。

上面的图左边就是Height节点,而右边是经过处理的节点。细节多了很多,也为丰富的颜色打下了基础。

处理的方式很简单,使用Normal节点连接一个Curvature Smooth节点,可以将Normal节点转为灰度图的同时,保留对比度。这里一定要使用Curvature Smooth节点,其他的Curvature或者直接转为灰度节点,都会导致细节太多反而像是噪点一样。

由AO节点转Roughness节点

之前我说过在使用Iray那种离线渲染器而非实时渲染器的话,有没有AO是对渲染不产生影响的。

后来发现并不是这样,虽然说离线渲染器不使用AO也能正常渲染,但是添加AO的话,还是会对最终色彩产生影响。估计是用AO节点直接跟颜色层相乘了。

那么这样的话,一个合适的AO节点其实也很重要了。所以制作材质的时候还是需要将AO节点考虑进去。

同时,使用AO经过Levels调节,可以直接作为Roughness节点使用。当然,指的是同一种材质下可以这样操作。如果是特别风格化的贴图,里面的材质类型比较多,有土有金属,那肯定是粗糙度不能直接由AO转了。

用Histogram Range提供Roughness自定义

在最终的Roughness节点后连接一个Histogram Range,Range调节为1,将Position暴露给用户作为参数调节,可以做出自定义粗糙度的效果。

Color自定义

给用户提供一个整体调节颜色的接口应该是经常遇到的,在使用Gradient Map后,SD中经常用的是用HSL或者Levels来进一步调节颜色。

我们可以将HSL中三个参数暴露给用户,或者暴露Levels。但是暴露出这些一个是参数太多,调整起来也麻烦。再一个就是调整起来不直观。现在有一个这个方法很好用。

在使用Gradient Map上完颜色后,可以连接一个Replace Color,在Source Color中吸取主要的材质颜色,把Target Color暴露给用户。这样用户就可以直接修改自己想要的颜色,非常方便。

这里的Gradient Map和Repalce Color之间还连接一个HSL节点,是因为前面的粉色主颜色和灰色杂斑颜色比较接近,不太好吸取,所以把粉色转为蓝色,再进行吸取。

除了用Replace Color,还可以使用Repalce Color Range,相当于在一种source颜色的基础上,多了一个容忍度作为调节。

(完)

Leave a Reply