首页 业界咨询 专题中心 数字创意 技术设备 教育培训 招聘求职 博客 联盟论坛 作品展示 技术教程 书刊杂志 高级搜索
首页 >> 技术教程 >> 国外教程 >> MAYA材质系统的Utilities工具简介(三)

MAYA材质系统的Utilities工具简介(三) (2)

 作者:未知  来源:  发布日期:2007-02-10 21:05:20 

02Clamp

Clamp节点用来将某一颜色值保持在指定的范围内。
Clamp节点的运算方法可以从下面这个例子来理解。
假设Clamp节点的InputR被连接,我们设置
MinR=0.3,MaxR=0.6
那么Clamp节点的输出为:
InputR: 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
OutputR: 0.3 0.3 0.3 0.4 0.5 0.6 0.6 0.6 0.6

Contrast

Contrast节点可以改变纹理的对比。参数的解释如下:
Value
Color或者Texture的输入口;
Contrast
调整对比的程度,可以单独调整R、G、B通道。
Bias
Bias参数的值也可以单独调节R、G、B通道,Bias参数可以理解成中间色,
当Contrast增加时,Bias参数增加图像将会变暗。
Gamma Correction

Gamma Correction节点可以校正Color或Texture的伽玛值。
 
Hsv To Rgb和Rgb To Hsv
一看就明白,在HSV模式和RGB模式之间转换。
那么这两个节点有什么用?
下面用一个极为常用的铬金属材质来解释一下。
创建一球体然后指定一Blinn材质,Blinn的主要参数设置为:
Color为黑色;
Diffuse=0;
Eccentricity=0.025;
Specular Roll Off=1;
Specular Color为白色;
Reflectivity=1。

创建一EnvBall环境节点;
创建一Ramp节点;
创建一rgbTohsv节点;
再创建一file纹理节点,然后指定一反射贴图。
节点连接情况如下:
File.outColor输出到rgbTohsv .inRgb;
rgbTohsv.outHsvH输出到Ramp..uCoord;
rgbTohsv.outHsvV输出到Ramp..vCoord;
Ramp.outColor输出到envBall.imgae;
envBall.outColor输出到Blinn.Reflected Color。
Ramp的颜色设置如图,最后渲染场景。

 
03Luminance

Luminance节点将颜色转换为灰度。
下面的例子解释Luminance节点的作用。
建一球体并指定一Blinn材质。
建一Luminance节点;
建一bump2d节点;
建一grid节点;
建一fractal节点。
连接方法如下:
fractal.outColor到grid.fillerColor;
grid.outColor到luminance..value;
luminance.outValue到bump2d.bumpValue;
bump2d.outNormal到Blinn.normalCamera。
因为grid的outColor不传递fractal的颜色,
所以应该将fractal的颜色和grid的颜色通过luminance
节点转为灰度,再送入bump2d节点。
效果如图:


 
04深入了解Hsv To Rgb和Rgb To Hsv

有朋友捎话说有上面那个Hsv To Rgb和Rgb To Hsv节点工具节点讲得不是很清楚。
下面我选择一个小例子,可以更清楚地理解Hsv To Rgb和Rgb To Hsv节点的用途。
以后的教程我也许会用更多的实例深入理解一下MAYA的这些工具。

这个样例的目的是设计一个材质,并且我们可以用HSV方式随意控制最后的渲染效果。
首先做一Plane然后指定一lambert材质。
建一file纹理;
建一Rgb To Hsv节点;
建一Hsv To Rgb节点;
建一setRange节点

材质的连接方法如下:
file.outColor到rgbToHsv.inRgb;
RgbToHsv.outHsv到setRange.Max;
setRange.outValue到hsvToRgb.inHsv;
hsvToRgb.outRgb到lambert.Color
 
给lambert材质添加三个自定义属性:
Hue:最小值=0、最大值=255、缺省值=128,float;
Saturation:最小值=0、最大值=255、缺省值=128,float;
Value:最小值=0、最大值=255、缺省值=128,float;
然后将Hue、Saturation、Value分别连接到setRange的ValueX、ValueY、ValueZ上。
将setRange的OldMaxX、OldMaxY、OldMaxZ都设置为255,OldMin和Min都为0。
用IPR渲染场景,你会发现,我们随意更改Hue、Saturation、Value的值就可以改变
贴图的色相、饱和度和亮度。
解释一下这个材质的实现原理:
通过前面的教程我们知道,Set Range节点是将Old Min到Old Max范围之间的值,重新
映射到Min到Max的范围内。三个通道分别代表着R、G、B。
将file.outColor通过rgbToHsv节点转换为H、S、V模式,然后送入setRange节点里,
这时,setRange节点的通道从左到右就等于代表H、S、V。所以我们用lambert材质的
三个自定义属性分别控制setRange节点的Value值,就可以改变最后渲染结果的H、S、V。
因为lambert.Color要接受RGB模式的颜色,所以我们又通过hsvToRgb节点将已经变为HSV模式
的颜色转换为RGB模式的颜色。

MAYA材质系统确实具有极大的灵活性,在MAYA中,现成的东西不是太多,但它给我们提供了
思想、工具、空间并指明了道路。古人说过,“受之以鱼不如授之以渔”,我以为MAYA正象
一位导师,教我们方法而不是替我们写作业。

材质的连接方式如图:


 
© 2005-2008 | CGchina -All rights reserved Powerby Cgchina
CG中国版权所有,此站点的任何信息包括图象、视频、音频等,未经许可,严禁传载。
www.cgchina.com | 关于我们 | 版权声明 | 广告服务 | 联系我们 | 诚聘英才 | 友情链接 | 网站公告