接下来,让Clamp1 节点降低灰阶值,使这些值小于等于1(<=1),同时会切断所有灰阶大于1(>1)的高光。(superwhite)。 开启 Clamp1 节点的属性编辑器(Attribute Editor),将 Max 左边的输入框设为1。这个输入框代表红色通道(中间=绿色,右边=蓝色),由于灰色是R,B,G各相等值混合而成的,所以,在此只需要一个通道就可以了。 Min 应设为0。
第三步: 以上述方法,用连接编辑器,将 Clamp1 节点的 Output R 与 Ramp1 节点的 V coord 相连。
请确保 Ramp1 节点的 Type 为 V Ramp。现在Ramp1 的 color output实际上等于 Input 的灰阶值(0<= clamp1 Color R Output <=1)。 这种方法称为重绘(Remapping)。
第四步: 将 Ramp1 节点的 Out Color 与 Condition1 节点的 Color If ***e (Color1) 相连。 将 Sample info1 节点的 Facing Radio 与 Condition1 节点的 First Term 相连。 Facing Ratio 是表面上点面向摄影机的角度,如果这个点距离摄影机90度,Facing Ratio =0, 如果表面法线和摄影机射线之间角度是0,Facing Ratio=1。具体请查阅 Maya在线手册
第五步: 开启 Surface shader1 的属性编辑器。选 Add->Add Attributes… 添加下列属性(float,scalar): LineThickness: Min 0, Max 1, Default .2
LineR
LineG
LineB LineThickness和颜色都属于用户可定(user-definable)的。 第六步: 将 Suerface shader1 节点的 LineThickness 与 Condition1 的 Second Term 相连。 Suerface shader1 节点的 Line R 与 Condition1 的 Color If False (Color2 R) 相连。 Suerface shader1 节点的 Line G 与 Condition1 的 Color If False (Color2 G) 相连。 Suerface shader1 节点的 Line B 与 Condition1 的 Color If False (Color2 相连。 将 Condition 的Operation 设为 Greater Than。
如果 Facing Ratio (condition1的第一个条件)小于 LineThickness (第二条件),Condition1 的Output = Color2 (surface shader1里 设置的LineRG,否则 Output = Color1 (来自ramp1-blinn1 的颜色)。 将 Condition1 节点的 Out Color 与 Surface shader1 节点的 Out Color相连。 下图是 Hypershade 中的节点关系: