利用maya制作质感风暴的材质

修改
鏉ユ簮: 爷⑤-缺德 浏览 2844 日期 2011-10-24 0

本课的内容能加深对连接编辑器(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 节点获取物体边界的信息。

02第二步:

在 hypershade 窗口里,鼠标中键拖动blinn1节点至clamp1 节点上释放,选 other… ,弹出连接编辑器(connection editor)窗口,

将左边 blinn1 节点的 outcolor 与 clamp1 节点的 input 相连。

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

[next]

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

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

04第三步:

以上述方法,用连接编辑器,将 clamp1 节点的 output r 与 ramp1 节点的 v coord 相连。

05请确保 ramp1 节点的 type 为 v ramp。现在ramp1 的 color output实际上等于 input 的灰阶值(0<= clamp1 color r output <=1)。

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

[next]

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在线手册

第五步:

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

[next]

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) 相连。

[next]

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相连。

[next]

下图是 hypershade 中的节点关系:

09第七步:

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

最终的外观。

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

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

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

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

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

评论

{{ username ? username.charAt(0).toUpperCase() : '?' }}
Ctrl+Enter 发布
{{ (c.username || c.author_name || '?').charAt(0).toUpperCase() }}
{{ c.username || c.author_name }} {{ Utils.formatDate(c.created_at) }}