CGArt-中国CGer中的绿色家园
首页 信息动态 原创排行 互动教程 资源千寻 CG人才 CGArt杂志 艺术设计 CG画廊 CG论坛 酷站欣赏 CG搜索 会员中心
Maya高级材质网络(节点)应用实例-铅笔画效果
来源:cghelp 作者:at 编辑:unico 发布时间:2005年12月09日 02:42:48

这是原图

这是经过节点调整后的效果

这是用该方法实现的另一效果

首先先来分析一下。要达到的目的是要将图片转换为铅笔画效果,如前面的例子,
因此就需要对图片进行处理和分析:这里我们需要首先回顾一下bump工具,它的作
用是将图片中的亮度不同的区域相交位置的信息读取并根据这些信息输出一组法线
信息(out nomal),关于bump2d节点的解释在maya的help中是这样描述的

Bump2s is a utility node that is useful for doing Bump Mapping.Its job is to take the output of any 2d texture(usually the

Out Alpha attribute) and convert it to "perturbed normals" that are used to calculate bump maps

遗憾的是. Maya并未给出更深入的解释二因此在通常情况下,我们只是使用bump节点
用作产生凹凸效果,这时bump节点的outNormal属性会联接到材料(如lambert)的
normalGamera属性。我们可以简单的分析一下产生凹凸效果的原理,简单的说,bump
节点的outNormal属性所包含的信息是图片中明暗相交位置及相领区域的亮度经bump节
点计算后生成的一些杂乱无章的法线信息(这些区域亮度变化丰富),而这些信息有提
供给了材料的nornalCamera属性,ma归在渲染时会根据这些法线方向、摄影机与表面的
相对角度以及光的方向计算出图片的哪些区域是“凹〔或凸)”的,就在这些区域(即
暗相交区域)加深色彩,模拟凹〔或凸)的效果。了解了这个原理,我们就可以继续进
行了。

既然了解的bump的大概原理,我们就可以利用这点。但是现在的问题是如何才能利用这
些法线信息二这里我们需要用到表面的法线,因为表面的法线是比较规则的,所以通过
比较bump的outNarmal与表面的法线的夹角,就可以得到一个数值,也就是将outNormal
这种矢量数值转化为一个单一的数值。这里我们就需要两个操作,第一是得到表面的法
线,第二是计算表面的法线与bump的outNormal的夹角
这时我们可以利用samplerlnfo节点取得表面的法线,而通过vector product工具中的
dot product功能可以得出两个矢量的夹角的余弦值,如果两个矢量方向相同(即他们
的夹角为0度),则vector product工具得出的数是t:如果如果两个矢量方向相垂直
(即他们的夹角为90度),则vector product工具得出的数是0,如果两个矢量方向相
反(即他们的夹角为180度),则vector product工具得出的数是-1。

通过这种方法,我们就可以将图片中明暗相交的区域转化为一组一、到T之间的浮点数。
那么这组数有什么用呢?大家也许还记得X-Ray材质里面的ramp的经典用法,就是将
samp一er info的facing ratio连到ramp的vcoord.这样联接的目的是因为表面上不同
的点法线与摄影机的视线都有一个不同的夹角,这个夹角就是用facing rati。的值来
表示,也就是说表面上不同的点有自己的一个faci吧ratio值,而这个值是在fl到之
间,而ramp的vcoord值直接决定了ramp输出的颜色,所以表面上不同的点对应了ramp
中不同的vcoord,最终也就有了各自不同的颜色〔即ramp输出的颜色)。下面这张图
标是的比较清楚

[CGERCN-PAGE]

所以,回到前面,如果能将图片中明暗相交的区域的值与ramp建立一个联接,就可以
通过ramp的颜色来将图片的明暗区域用自己定义的颜色勾画出来。但是ramp的vcoord
的范围是0->1.而前面的dot product的值的范围是一1一1,所以我们需要将一1到1转换
为0到1,这就会用到setRange.因此产生这个效果的Shad}ng Network的主体如下图:

这是节点的具体属性

现在,我们值要调整ramp的颜色和取色点的位置就可以分别控制线条的颜色和细节的多少了,对比下面两张图

另外,因为bump节点的bump depth控制着输出的法线矢量的大小,因此当此值为0时,dot product输出的值为1 ,所以,最终图片的颜色是vcoord为1的颜色,本例中是白色。这样,同过控制bump depth,我们就可以创建一个逐渐显现的动画效果了。

---------------------------------------------------------------------------------------------------

如果是用在可变形的物体上,这种方法要比后期更快捷,效果也更丰富

提示一下:这里的关键是根据彩色图的明暗将图片转化为两种颜色

这是最前面那张图经过处理后的效果

先来看一下节点图

这是效果

共有评论4条
更多评论..
作者信息 详细信息
123123
于2006年08月03日 16:54:16

13123
sai

性别:女
城市:
评分:0
于2006年01月04日 18:46:28

o
wyuguang

性别:男
城市:
评分:0
于2005年12月13日 08:54:04

不错
六月狂风

性别:女
城市:
评分:0
于2005年12月11日 02:37:14

不错
评论人:
验证码:
内容:
 
about us advertisement publish conformity service cooperate associate link site map contact us help jump to the top of page