首先,很多人曾经问过我,为什么使用Maya去制作卡通材质,在Flash中不也可以完成了吗?实际上,如果只是几张角色图,那到无可厚非。但大家都应该知道,实际工作中,我们要我们要做各种动画,如果是在Flash中制作,这就会给我们带来相当大的工作量,而如果使用Maya去制作,则可以事半功倍。
卡通材质是NPR渲染中的一种,主要是由高光、基色和暗调等部分组成,而各个部分均为单一的色彩。下面我们就手动创建一个简单的卡通节点网络。
1,首先随便打开一个场景。
2,打开Hypershade。
3,创建Phong和Surface Shader材质,以及Ramp纹理,删除Ramp纹理的Place2dtexture节点。
4,双击Ramp节点,打开属性编辑窗口,去除一个控制点,将插值方法设置为None,具体颜色参考下图。浅色表示亮部,深色表示暗部。如果希望获得更丰富的色彩,就可以多设置几个颜色。
5,进行节点连接。将Phong的OutcolorR连接到Ramp节点的vCoord,再将Ramp节点的Outcolor连接给SurfaceShader的Outcolor属性。(具体连接方法:用户在需要输出的节点上按住鼠标中键,然后拖动到输入的节点上。如果在产生的列表中有需要的属性,则选择;如果没有,则单击other,打开连接编辑器对话框。在其中选则属性就OK)具体完成后的节点如下下图。
6,将SurfaceShader材质赋予物体,测试渲染。虽然整体感觉已经出来了,但是缺乏线条感。下面我们就来添加线条。
7,首先断开Ramp与SurfaceShader的连接(删掉连接线即可)。然后创建一个Sampler Info节点和一个Ramp2节点。Ramp2节点的设置参考下图。
8,创建一个乘除节点。
9,将SamplerInfo节点的Facing Ration与Ramp2的Vcoord参数连接;Ramp1和Ramp2的OutColor分别连接到乘除节点的Input1与Input2上。最后将乘除节点的Output与SurfaceShader的Outcolor相连接。最终节点如下图所示。
10,最终渲染结果如图。