当前位置:首页 >教程首页 > Maya >详解卡通材质技术

详解卡通材质技术

发布时间:2018-11-17 19:57:24

来源:网络(本文仅为提供更多信息)

在这一课里,完全地展示了如何创建卡通材质(Cartoon shader)的实际工作步骤,我们使用RAMP节点,以及其他的几种工具节点,对Blinn材质进行重新分布(Remapping),最终,即能达到类似卡通效果的着色方式(Shader)。

 

此外,本课的内容能加深对连接编辑器(Connection Editor)和工具节点(Utility nodes)、创建自制的着色网络(Custom Shading Networks)的深层理解。

 

第一步:

 

在 Hypershade 窗口里,选择 Create->Create Render Node.. 分别创建下列节点:

 

Material nodes:

 

Blinn (no Shading Group) (无着色系)

 

Surface Shader (with Shading Group) (有着色系)

 

Texture nodes:

 

Ramp (no Texture Placement, Normal) (无贴图坐标)

 

Utility nodes:

 

Sampler Info

 

Clamp

 

Condition

 

在 Hypershade 中应该如图:

 

Blinn 材质节点用于描绘物体上的高光。因为Ramp 可以将灰阶值重新分布成连续的色彩,会使灰阶 blinn 变成卡通效果。Sampler info 节点获取物体边界的信息。

 

 

  大家好,我是教程频道的编辑,大家有什么建议和意见都可以告诉我,谢谢大家的支持,欢迎投稿 :)

  QQ:382593199   Email:chenc@hxsd.com

 

#p#e#

 

02第二步:

 

在 Hypershade 窗口里,鼠标中键拖动Blinn1节点至Clamp1 节点上释放,选 Other… ,弹出连接编辑器(Connection Editor)窗口,

 

将左边 Blinn1 节点的 Outcolor 与 Clamp1 节点的 Input 相连。

 

 

03接下来,让Clamp1 节点降低灰阶值,使这些值小于等于1(<=1),同时会切断所有灰阶大于1(>1)的高光。(superwhite)。

开启 Clamp1 节点的属性编辑器(Attribute Editor),将 Max 左边的输入框设为1。这个输入框代表红色通道(中间=绿色,右边=蓝色),

 

由于灰色是R,B,G各相等值混合而成的,所以,在此只需要一个通道就可以了。 Min 应设为0。

 

 

#p#e#

 

04第三步:

 

以上述方法,用连接编辑器,将 Clamp1 节点的 Output R 与 Ramp1 节点的 V coord 相连。

 

 

05请确保 Ramp1 节点的 Type 为 V Ramp。现在Ramp1 的 color output实际上等于 Input 的灰阶值(0<= clamp1 Color R Output <=1)。

 

这种方法称为重绘(Remapping)。

 

 

#p#e#

 

06第四步:

 

将 Ramp1 节点的 Out Color 与 Condition1 节点的 Color If True (Color1) 相连。

 

将 Sample info1 节点的 Facing Radio 与 Condition1 节点的 First Term 相连。

 

Facing Ratio 是表面上点面向摄影机的角度,如果这个点距离摄影机90度,Facing Ratio =0,

 

如果表面法线和摄影机射线之间角度是0,Facing Ratio=1。具体请查阅 Maya在线手册

 

 

#p#e#

 

第五步:

 

开启 Surface shader1 的属性编辑器。选 Add->Add Attributes… 添加下列属性(float,scalar):

 

LineThickness: Min 0, Max 1, Default .2

 

LineR

 

LineG

 

LineB

 

LineThickness和颜色都属于用户可定(user-definable)的。

 

07第六步:

 

将 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。

 

 

08如果 Facing Ratio (condition1的第一个条件)小于 LineThickness (第二条件),Condition1 的Output = Color2 (surface shader1里

 

设置的LineRG,否则 Output = Color1 (来自ramp1-blinn1 的颜色)。

 

将 Condition1 节点的 Out Color 与 Surface shader1 节点的 Out Color相连。

 

下图是 Hypershade 中的节点关系:

 

 

#p#e#

 

09第七步:

 

可以把 Ramp1 调成你喜欢的色彩。卡通材质通常把 Ramp 颜色之间的 Interpolation 设为 None,这样能产生较为均匀的边线。下图为 Ramp1

 

最终的外观。

 

 

此外,也可以做一些额外的修改:

1.在surface shader1 属性编辑器里调整Line Thickness 和 colorRGB,这两个值分别控制边线的粗细和颜色。

 

2.调节 blinn1 参数能产生不同的高光。

 

3.甚至可以给 Blinn1 添加一个凹凸贴图,这种方法一般用于运动的小虫。

 

4.也可用其他的材质代替 Blinn1 ,产生各式各样高光。

 

总结:

 

本课阐述了如何创建卡通材质,通过这一课的学习,掌握了创建卡通着色技术,同时也对各种节点之间工作原理及建立复杂的着色网络有了更加清楚地认识。

 

本文仅为提供更多信息,不代表火星时代同意其观点或描述,如需转载请注明出处。

学员作品赏析
  • 2101期学员李思庭作品

    2101期学员李思庭作品

  • 2104期学员林雪茹作品

    2104期学员林雪茹作品

  • 2107期学员赵凌作品

    2107期学员赵凌作品

  • 2107期学员赵燃作品

    2107期学员赵燃作品

  • 2106期学员徐正浩作品

    2106期学员徐正浩作品

  • 2106期学员弓莉作品

    2106期学员弓莉作品

  • 2105期学员白羽新作品

    2105期学员白羽新作品

  • 2107期学员王佳蕊作品

    2107期学员王佳蕊作品

专业问题咨询

你担心的问题,火星帮你解答

微信扫码在线答疑

扫码领福利1V1在线答疑

点击咨询
添加老师微信,马上领取免费课程资源

1. 打开微信扫一扫,扫描左侧二维码

2. 添加老师微信,马上领取免费课程资源

×

同学您好!

您已成功报名0元试学活动,老师会在第一时间与您取得联系,请保持电话畅通!
确定