【OC】使用Dirt节点制作磨损效果

By 二月 21, 2018 三月 23rd, 2018 Cinema 4D, 材质

特色图片中的小卡车模型和用来照亮场景的HDR贴图都可以在C4D内置预置中找到。

另外此次的材质创建都是在OC的材质节点编辑器中调节的,可能是先学的基于图层的AE,对节点式编辑总是觉得很抽象很难,其实用过之后才觉得,反而节点式是非常直观的编辑方式,所见即所得。

这个材质的整理思路是使用两个材质拼合成一个Mix材质,一个材质是物体表面的材质,另一个是物体磨损后的内部材质。

Dirt模拟磨损的边缘,配合Noise模拟磨损的表面,然后将Dirt和Noise生成的灰度图作为控制Mix材质的显示区域。


首先创建一个默认OC材质,给diffuse添加一个Dirt节点。

Dirt节点的参数在OC渲染器的一些零碎知识中说过了。调节一下,但是要记住勾选invert,因为正常情况下,Dirt节点生成的位置是对象物体的褶皱处,但是我们平时使用的东西磨损都是边缘凸出的部分磨损,所以需要勾选invert让生成的位置反转过来。

然后添加Noise节点到diffuse上模拟表面磨损。

但是这里会出现两个问题,一个是怎么让两个节点同时添加到Diffuse通道上,一个是调节Noise形态的问题。

首先是第一个,让两个节点同时添加到一个通道上,需要使用一个节点作为中转,就是Multiply。

Multiply节点的作用就是将两个节点产生的灰度图进行叠加。另外也可以看到Noise节点后添加了一个Projection,这么做就是为了方便的调节Noise的形态,除了调节Noise节点自己的参数,还需要调节Noise的缩放、分布形式等参数。不然Noise在物体对象上的分布区域总是很大,这时候可以使用Transform来调节,不过这里添加的是Projection,是为了将Noise在物体对象上的分布形式改为Box,这样调节起来会发现比之前更容易,也更直观。

这番调节之后,效果就如上图所示了。

现在看到的物体表面,其实是为了之后的Mix材质分布区域做准备,黑色和灰色的部分是显示磨损后内部的材质,而白色则是显示物体表面的材质。但是现在看,灰色的部分太多,这会导致最后的物体表面磨损的范围很大。再一个就是灰色和白色之间的过度色太明显,而生活中的磨损和未磨损的边界其实是很明显的,所以为了解决这个问题,还需要添加一个Gradient节点。

添加Gradient节点进行调节,关于Gradient节点的知识在上面链接的那篇文章里也说过了,是把Multiply产生的灰度图进行再处理,参照上面图中的颜色条。

Multiply产生的灰度图也用上面的那种颜色条显示,即左黑右白。而Gradient则是将显示的区域再分配,黑色表示全显示,白色则是不显示,灰色则是介于其间。所以白色区域就是被不显示的区域了。

这块说的有点乱了,看看链接那篇文章底下的图片就明白了,简单的说,Gradient的颜色条和Texture(当然这里就是Multiply了)的颜色条是映射关系。

这样就很好的调节了表面磨损的区域。

最后使用Mix材质,添加两个材质,这里我是想让物体对象表面是黄色喷漆材质,磨损内部是金属材质的,所以最后效果就是这样的。

根据最终效果,看看哪里还有需要改进的地方再调节各个节点。


同时为了进一步增加真实感,可以将Gradient节点的输出点链接到黄色材质的Bump通道。即让白色区域,也就是黄色区域,也就是外部喷漆的部分,跟内部磨损的金属材质相比有一个厚度。

4 Comments

  • ahen说道:

    照着做了一遍学到很多,但是感觉边缘是不是太规整了,有没有让边缘有粗糙的感觉的方法 ,望赐教。

    • 李亦天说道:

      这个问题确实很实际。可以通过让Dirt节点和Noise节点混合来做为Amount。
      一般情况下是直接将Dirt节点连入Amount,但是可以使用CosineMix节点来混合Dirt和Noise。然后将CosineMix输出的一端连接到Amount。
      混合的方式是使用Dirt作为CosineMix的Amount,Noise作为Texture1,Texture2留空或者接入一个值为1的Float就可以了。

  • nightdo说道:

    无意中找到了这个地方,版面干净清爽,可以安静学习,感谢分享。

Leave a Reply