MAYA材质系统的Utilities工具简介(二)
(3)
作者:未知 来源: 发布日期:2007-02-10 20:58:05
连接Clamp的OutputR到Ramp的Vcoord属性中,确认Ramp的模式为VType Ramp。这样,Ramp的颜色强度可以用Blinn Color的灰度控制在0——1之间,前面说的映射就是指这个。
将Ramp OutColor连接到Condition节点的Color1中。 同样,将SampleInfo的Facing Ration连接到Condition的First Term中。
Sampler Info节点也是不容易理解的节点,然而,Sampler Info节点的作用在Maya的材质编辑中极为重要,经常会用到。Sampler Info节点必须与其它节点嵌套才能发挥作用。 Sampler Info节点主要的功用是提供物体表面上任意一点的各种空间信息,如位置、方向和相切特性等等。 需要指出的是,Sampler Info节点返回的信息是针对于“相机空间坐标”进行定位的。在Maya中,存在“相机空间坐标”和“世界空间坐标”两种概念。“世界空间坐标”和“世界空间坐标”的关系可以这样理解: 假设你就是MAYA场景中的物体,有一个操作MAYA的人在显示器外面看着你。“相机空间坐标”的Z轴方向和“世界空间坐标”的Z轴方向相反。 Facing Ratio的值受场景物体朝向相机的表面的法线和相机目光方向之间角度的影响。 值在0——1之间。 如果物体表面上的某个位置的法线同相机的目光方向的角度为90度,刚Facing Ratio=0; 如果角度为0,则Facing Ratio=1。
在Surface Shader中增加以下四个自定义属性。 Thickness:最小值为0,最大值为1,默认值为0.3; Line R Line G Line B 皆为Float 、Scalar属性。
将Thickness属性连接到Conditionr 的Secong Term中; 其余的三个依次连接到Color2的R、G、B通道中。 设置Condition的Operation为Greater Than。
Thickness控制最后渲染效果的“勾边儿”厚度。其余三个属性分别控制“勾边儿”的颜色。
最后连接Condition的OutColor到Surface Shader的OutColor中。 这个Surface Shader材质网络即为我们需要的卡通材质。
讲一下材质的实现原理: 在Condition中, 如果First Term(就是SampleInfo的Facing Ratio)>Second Term(自定义的Thickness); 则输出Color1(就是Ramp的颜色); 否则,输出Color2(由LineR、LineG、LineB实现,这里我们用黑色) 而Thickness的值可以随意更改,这样,就能控制“勾边儿”的厚度。
卡通材质的颜色同Ramp来决定,卡通上色效果中不同颜色区域之间的过渡是“硬边儿”。 所以要把Ramp的Interpolation设置为None。
Blinn也可以给一个Bump Map看看是什么效果,也可以换一个别的材质。 Ramp的设置如图:
|