Maya材質(zhì)教程:MAYA材質(zhì)系統(tǒng)的Utilities工具簡(jiǎn)介
01顏色工具節(jié)點(diǎn)
Blend Colors
Blend Colors節(jié)點(diǎn)混合Color1和Color2的顏色,它根據(jù)Blender參數(shù)控制混合的程度。
Blender參數(shù)的值的范圍是0——1。
當(dāng)Blender=1時(shí),輸出Color1;
當(dāng)Blender=0時(shí),輸出Color2。
Blend Colors節(jié)點(diǎn)的工作原理如下:
Output = Color1*Blender + Color2 * (1 - Blender)
比如我們可以利用Blend Colors節(jié)點(diǎn)在紋理上加一行字,
Color1是文字紋理
Color2是背景紋理。
而B(niǎo)lender參數(shù)由文字紋理的Alpha通道連接。
如圖:另:圖片是Luis幻想畫(huà)中的那個(gè)著名的女孩兒。
Clamp節(jié)點(diǎn)用來(lái)將某一顏色值保持在指定的范圍內(nèi)。
Clamp節(jié)點(diǎn)的運(yùn)算方法可以從下面這個(gè)例子來(lái)理解。
假設(shè)Clamp節(jié)點(diǎn)的InputR被連接,我們?cè)O(shè)置
MinR=0.3,MaxR=0.6
那么Clamp節(jié)點(diǎn)的輸出為:
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節(jié)點(diǎn)可以改變紋理的對(duì)比。參數(shù)的解釋如下:
Value
Color或者Texture的輸入口;
Contrast
調(diào)整對(duì)比的程度,可以單獨(dú)調(diào)整R、G、B通道。
Bias
Bias參數(shù)的值也可以單獨(dú)調(diào)節(jié)R、G、B通道,Bias參數(shù)可以理解成中間色,
當(dāng)Contrast增加時(shí),Bias參數(shù)增加圖像將會(huì)變暗。
Gamma Correction
Gamma Correction節(jié)點(diǎn)可以校正Color或Texture的伽瑪值。
一看就明白,在HSV模式和RGB模式之間轉(zhuǎn)換。
那么這兩個(gè)節(jié)點(diǎn)有什么用?
下面用一個(gè)極為常用的鉻金屬材質(zhì)來(lái)解釋一下。
創(chuàng)建一球體然后指定一Blinn材質(zhì),Blinn的主要參數(shù)設(shè)置為:
Color為黑色;
Diffuse=0;
Eccentricity=0.025;
Specular Roll Off=1;
Specular Color為白色;
Reflectivity=1。
創(chuàng)建一EnvBall環(huán)境節(jié)點(diǎn);
創(chuàng)建一Ramp節(jié)點(diǎn);
創(chuàng)建一rgbTohsv節(jié)點(diǎn);
再創(chuàng)建一file紋理節(jié)點(diǎn),然后指定一反射貼圖。
節(jié)點(diǎn)連接情況如下:
File.outColor輸出到rgbTohsv .inRgb;
rgbTohsv.outHsvH輸出到Ramp..uCoord;
rgbTohsv.outHsvV輸出到Ramp..vCoord;
Ramp.outColor輸出到envBall.imgae;
envBall.outColor輸出到Blinn.Reflected Color。
Ramp的顏色設(shè)置如圖,最后渲染場(chǎng)景。
Luminance節(jié)點(diǎn)將顏色轉(zhuǎn)換為灰度。
下面的例子解釋Luminance節(jié)點(diǎn)的作用。
建一球體并指定一Blinn材質(zhì)。
建一Luminance節(jié)點(diǎn);
建一bump2d節(jié)點(diǎn);
建一grid節(jié)點(diǎn);
建一fractal節(jié)點(diǎn)。
連接方法如下:
fractal.outColor到grid.fillerColor;
grid.outColor到luminance..value;
luminance.outValue到bump2d.bumpValue;
bump2d.outNormal到Blinn.normalCamera。
因?yàn)間rid的outColor不傳遞fractal的顏色,
所以應(yīng)該將fractal的顏色和grid的顏色通過(guò)luminance
節(jié)點(diǎn)轉(zhuǎn)為灰度,再送入bump2d節(jié)點(diǎn)。
效果如圖:
有朋友捎話說(shuō)有上面那個(gè)Hsv To Rgb和Rgb To Hsv節(jié)點(diǎn)工具節(jié)點(diǎn)講得不是很清楚。
下面我選擇一個(gè)小例子,可以更清楚地理解Hsv To Rgb和Rgb To Hsv節(jié)點(diǎn)的用途。
以后的教程我也許會(huì)用更多的實(shí)例深入理解一下MAYA的這些工具。
這個(gè)樣例的目的是設(shè)計(jì)一個(gè)材質(zhì),并且我們可以用HSV方式隨意控制最后的渲染效果。
首先做一Plane然后指定一lambert材質(zhì)。
建一file紋理;
建一Rgb To Hsv節(jié)點(diǎn);
建一Hsv To Rgb節(jié)點(diǎn);
建一setRange節(jié)點(diǎn)
材質(zhì)的連接方法如下:
file.outColor到rgbToHsv.inRgb;
RgbToHsv.outHsv到setRange.Max;
setRange.outValue到hsvToRgb.inHsv;
hsvToRgb.outRgb到lambert.Color
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都設(shè)置為255,OldMin和Min都為0。
用IPR渲染場(chǎng)景,你會(huì)發(fā)現(xiàn),我們隨意更改Hue、Saturation、Value的值就可以改變
貼圖的色相、飽和度和亮度。
解釋一下這個(gè)材質(zhì)的實(shí)現(xiàn)原理:
通過(guò)前面的教程我們知道,Set Range節(jié)點(diǎn)是將Old Min到Old Max范圍之間的值,重新
映射到Min到Max的范圍內(nèi)。三個(gè)通道分別代表著R、G、B。
將file.outColor通過(guò)rgbToHsv節(jié)點(diǎn)轉(zhuǎn)換為H、S、V模式,然后送入setRange節(jié)點(diǎn)里,
這時(shí),setRange節(jié)點(diǎn)的通道從左到右就等于代表H、S、V。所以我們用lambert材質(zhì)的
三個(gè)自定義屬性分別控制setRange節(jié)點(diǎn)的Value值,就可以改變最后渲染結(jié)果的H、S、V。
因?yàn)閘ambert.Color要接受RGB模式的顏色,所以我們又通過(guò)hsvToRgb節(jié)點(diǎn)將已經(jīng)變?yōu)镠SV模式
的顏色轉(zhuǎn)換為RGB模式的顏色。
MAYA材質(zhì)系統(tǒng)確實(shí)具有極大的靈活性,在MAYA中,現(xiàn)成的東西不是太多,但它給我們提供了
思想、工具、空間并指明了道路。古人說(shuō)過(guò),“受之以魚(yú)不如授之以漁”,我以為MAYA正象
一位導(dǎo)師,教我們方法而不是替我們寫(xiě)作業(yè)。
材質(zhì)的連接方式如圖:
這是貼圖按原來(lái)顏色正常渲染。
這是從國(guó)外網(wǎng)站下載的一個(gè)材質(zhì),設(shè)計(jì)得極為精巧,是用來(lái)模擬全局光效果的,我稍微添加了一點(diǎn)兒內(nèi)容。
建一球體并指定一lambert材質(zhì),在相機(jī)的左側(cè)面打一方向光。
建兩個(gè)vectorProduct節(jié)點(diǎn);
建一setRange節(jié)點(diǎn);
建一ramp節(jié)點(diǎn)。
建一sampleInfo節(jié)點(diǎn)。
連接方式如下:
sampleInfo.normalCamera到vectorProduct1.input1;
vectorProduct1.output到vectorProduct2.input1;
vectorProduct2.output到setRange.value;
setRange.outValueX到ramp.vCoord;
setRange.outValueZ到ramp.uCoord;
ramp.outColor到lambert.ambientColor
設(shè)置方式如下:
vectorProduct1的操作方式為Vector Matrix Product;
vectorProduct2的操作方式為Dot Product;
setRange的Max、OldMax都設(shè)為1;
給lambert添加三個(gè)自定義屬性:
X//_Light:最小值為-1、最大值為1、缺省值為0;
Y//_Light:最小值為-1、最大值為1、缺省值為0;
Z//_Light:最小值為-1、最大值為1、缺省值為0;
lambert的自定義屬性連接方式如下:
lambert. X//_Light到vectorProduct2.input2X;
lambert. Y//_Light到vectorProduct2.input2Y;
lambert. Z//_Light到vectorProduct2.input2Z;
ramp的Color0為白色,Color1為黑色,Color2刪除。
就會(huì)驅(qū)動(dòng)vectorProduct2的input2的相應(yīng)參數(shù)。
這時(shí),可以控制場(chǎng)景中的球體任何方向的受光程度。
注意場(chǎng)景中只有左上方一個(gè)光源。
建議初學(xué)者認(rèn)真做一下。
更多動(dòng)畫(huà)制作教程,請(qǐng)關(guān)注http://www.yh5923.com/。
入學(xué)要求 | 課程設(shè)置 | 暴雪動(dòng)態(tài) | 我要報(bào)名
學(xué)員作品 | 就業(yè)學(xué)員 | 招生問(wèn)答 | 暴雪簡(jiǎn)介
公司作品 | 周邊介紹 | 教學(xué)環(huán)境 | 乘車路線