Maya材質(zhì)教程
Maya材質(zhì)教程:mental ray卡通教程
編輯:Penny來源:發(fā)布時間:2010-06-28
首先看一下效果圖。
![](/d/file/166c35805e7174d5d94a09b8aeaa3740.jpg)
效果圖2。
![](/d/file/4c0b75576f471a4c9ef11ba65bd893a1.jpg)
效果圖3。
![](/d/file/c3a27059263d3bbbf731aedf8816c232.jpg)
效果圖4。
![](/d/file/822f67609af577061236edd9be7a144b.jpg)
2.這是來自劉闊老師的模型,就是有名的法線紋理的測試模型。高人的東東被俺亂用調(diào)節(jié)好了,比FR的TOON功能還強(qiáng)。當(dāng)然FR的也很帥。據(jù)說MAYA有個外掛TOOMCAT,卡通渲染效果一流,有時間去試試。現(xiàn)在發(fā)現(xiàn)卡通風(fēng)格的東東還真有那么一點(diǎn)不一樣的味道呢。做一段手描線風(fēng)格的動畫肯定很好看。
上面幾張圖用MR渲的,因?yàn)橹灰€框效果,所以COLOR通道上只要上一個簡單的材質(zhì)就可以,最主要的問題來自于邊線的產(chǎn)生,和模擬真實(shí)筆觸的自然濃淡。然后考慮到材質(zhì)的可調(diào)節(jié)性,再加上了一些備用的功能。也是看一些教程然后再想想才會的,
這個是它的shader networking。
![](/d/file/e4d3112af7e70b3a14fd6230229a0bc5.jpg)
MR要渲染出卡通效果,有幾點(diǎn)比較重要,一個是當(dāng)前攝像機(jī)的輸出中要指定卡通渲染輸出,另外SHADER網(wǎng)絡(luò)中也要給定一個MR的卡通材質(zhì),(MR的卡通材質(zhì)有好多種,可以模擬出很多效果的),最后在全局渲染設(shè)定中也指定一些MR的相關(guān)SHADER。
首先,打開一個模型?,F(xiàn)在開始調(diào)材質(zhì)。
新建一個surfaceShader,說說為什么用這種SHADER, surfaceShader有個特性就是不受光照的影響。,而卡通效果基本上不用太多考慮光線,主要就是明暗的對比。當(dāng)然如果要做出光照的效果用其它材質(zhì)類型也可以。然后再新建一個RAMP,這個用來控制最終材質(zhì)的顏色。再來一個節(jié)點(diǎn),CLAMP,這個節(jié)點(diǎn)的用途是把輸入值強(qiáng)制切割在指定的范圍內(nèi)。和setRange節(jié)點(diǎn)有些類似,但不一樣。再建一個PHONG,也可以用BLINE等其它類型。只是PHONG的高光更加銳利些,當(dāng)然這個例子中是沒有高光的,只有邊線。
接下來開始連接,拖放CLAMP到RAMP上,選擇OTHER,然后在連接窗口中做如下連接:CLAMP的OUTPUTR(或者G,連接到RAMP上的U COORD上,如圖。
![](/d/file/f472a95f216275f721033a269477b2a3.jpg)
接著把PHONG的OUT COLOR下的OUT R連接到CLAMP上的INPUT R上,別連錯了。MAYA的節(jié)點(diǎn)屬性有一元屬性,二元屬性,三元屬性,數(shù)列矩陣等等,不過不怕,不對應(yīng)的屬性類型是無法連接上的。這樣就把PHONG的輸出色和CLAMP的輸入節(jié)點(diǎn)連起來了。
![](/d/file/079ef86eb1049257ac90007e8b18188b.jpg)
連接完成的節(jié)點(diǎn)網(wǎng)絡(luò)如下圖:
![](/d/file/489f3eeec69d3309a0759ba680d40703.jpg)
渲染,結(jié)果是黑黑一片,當(dāng)然了,沒設(shè)定CLAMP的屬性么,把CLAMP屬性窗口打開,設(shè)定如圖。
![](/d/file/aa270150a42001963721137d6a54c3a0.jpg)
它的意思比較簡單,就是限定最小輸出值為0,最大輸出值為1?,F(xiàn)在渲染看看,有些效果了吧。想起來了,忘了給RAMP的參數(shù)。
設(shè)定RAMP,類型先設(shè)定為SMOOTH,它的類型影響最后效果,顏色也影響最終顏色,并且色帶的位置影響著最后的高光(這個例子中沒有,)解釋一下參數(shù)的意思,第一條色帶是控制高光區(qū)域和顏色的,在材質(zhì)中可以同步看到。第二條色帶是控制卡通材質(zhì)的顏色(Diffuse),這里全為白,最后的那條就是陰影效果。這里要慢慢調(diào)節(jié)才能有一個好效果。(顏色調(diào)節(jié)得好的話,可以做國畫效果的)。
![](/d/file/21e6dc29cbb8edf98d0f163617d5f20f.jpg)
再渲染看看,有些效果了吧。但缺少卡通畫常有的效果,邊線!我們下一步要做的就是產(chǎn)生邊線。打開surfaceShader的上下級連接,在surfaceShader1SG下的MR選項(xiàng)中設(shè)定卡通材質(zhì)。
![](/d/file/71be17fb666a61a9ab44266e5ff456e0.jpg)
在隨后彈出的MR材質(zhì)界面中選擇卡通材質(zhì)類型中的一種,這里的類型很多,可以試試不同組合所帶來的不同效果。這是用的是contour_shader_simple,MR的材質(zhì)系統(tǒng)好復(fù)雜,頭都大了。什么時候能無縫集成就好了,無比幸福。
![](/d/file/d0655614fb7070854b75d2cdae149bcb.jpg)
在隨后彈出的MR材質(zhì)界面中選擇卡通材質(zhì)類型中的一種,這里的類型很多,可以試試不同組合所帶來的不同效果。這是用的是contour_shader_simple,MR的材質(zhì)系統(tǒng)好復(fù)雜,頭都大了。什么時候能無縫集成就好了,無比幸福。
![](/d/file/0499fb6c5bb370dab03eb95bf894a738.jpg)
MR卡通線風(fēng)格變化很多,可以根據(jù)距離確定線框的寬度,也能夠響應(yīng)燈光來確定寬度。
![](/d/file/38f57359d7d6fb2d6d0bc4b1a98a8c66.jpg)
圖2
![](/d/file/1714a15e0652692c04413eaf77cde87c.jpg)
現(xiàn)在所有工作都完成了。渲染時要注意,一定要是給定OUTPUT SHADER的攝像機(jī)才可以渲染出卡通邊線。另外,把AA設(shè)低一點(diǎn)效果更好。如果RAMP設(shè)定色不為全白,高光區(qū)域可能會過大,這時有兩辦法。一個是更改PHONG材質(zhì)的折射率為0,另一個是渲染時把反射與折射關(guān)閉掉。
![](/d/file/bc3300011dc6fbc7642deb8095915376.jpg)
渲染看一下,效果應(yīng)該是這樣的。
![](/d/file/d95313f2cb9bf220184f4bf03f3602dc.jpg)
邊線已經(jīng)產(chǎn)生,但是感覺很“硬”,現(xiàn)在打開contour_shader_simple節(jié)點(diǎn),它下面的兩個參數(shù)一看就懂,在COLOR上 添加一個NOISE,參數(shù)做如下設(shè)定。
![](/d/file/7e69b29c78b09ef7804745a9bec1041c.jpg)
這時如果渲染,邊線顏色一定不對,很淡。這時控制邊線的顏色辦法就是打開NOISE的COLOR GAIN 。
![](/d/file/a876dc1024c14a4ea9775f8332102c22.jpg)
這時如果渲染,邊線顏色一定不對,很淡。這時控制邊線的顏色辦法就是打開NOISE的COLOR GAIN 。
![](/d/file/ebbc50a0ed73a1f8f6b5400bf070f902.jpg)
把COLOR GAIN調(diào)低到近于全黑,現(xiàn)在再渲。效果就出現(xiàn)了。整個SHADER NETWORKING
![](/d/file/907575616a2761e6f1eef72195fe34dc.jpg)
這里參數(shù)比較簡單,一個是邊線的顏色,一個是寬度。多試自然就知道了,非科班出身的人就這點(diǎn)慘,俺們就知道一個個去試。
現(xiàn)在渲染,沒有出現(xiàn)想要的效果吧?因?yàn)楫?dāng)前攝像機(jī)的輸出設(shè)定中還沒有相關(guān)設(shè)定。選擇或者新建一個攝像機(jī),調(diào)好位置,然后打開它的屬性設(shè)置窗。在它下面的MR選擇中打開OUTPUT SHADER,給定一個contour_composite。參數(shù)默認(rèn)。
![](/d/file/11af62af6d1c7440816f2094da8bf352.jpg)
設(shè)置如圖。
![](/d/file/99820a3c8215143ee0b8cce0f8f9dde7.jpg)
打開全局渲染設(shè)置面板.指定當(dāng)前渲染器為MENTAL RAY,然后找到CUSTOM SHADERS,給定兩個卡通材質(zhì),類型看下圖。
![](/d/file/41bc3d7c2a7f1931571e1af854833733.jpg)
STORE SHADER用contour_store_function,這個節(jié)點(diǎn)可以提取到模型的點(diǎn),法線信息,材質(zhì),物體,三角面數(shù)目,反射與折射。原文幫助文件中是這樣的The contour_store_function shader returns the intersection point, normal, material tag, object label (tag), triangle index, color, and the refraction and reflection level。另一個同類型的節(jié)點(diǎn)只能提取到材質(zhì)信息,然后傳遞給下一個節(jié)點(diǎn),但是速度飛快。
設(shè)定contour_contrast_function_levels參數(shù)如下圖,它當(dāng)中參數(shù)有幾個很重要,對最終效果影響很大。ZDELTA和NDELTA的參數(shù)尤其明顯。NDELTA的參數(shù)越大,卡通邊線越細(xì),越小越粗。下面的那個DIFF_INTEX如果勾選的話,可以渲染出模型的線框,是三角面的。沒有認(rèn)真去調(diào)過。具體參數(shù)看看MAYA自身HELP中有關(guān)METAL RAY的章節(jié),解釋得很詳細(xì)。可以看看不同參數(shù)下的渲染效果。
![](/d/file/166c35805e7174d5d94a09b8aeaa3740.jpg)
效果圖2。
![](/d/file/4c0b75576f471a4c9ef11ba65bd893a1.jpg)
效果圖3。
![](/d/file/c3a27059263d3bbbf731aedf8816c232.jpg)
效果圖4。
![](/d/file/822f67609af577061236edd9be7a144b.jpg)
2.這是來自劉闊老師的模型,就是有名的法線紋理的測試模型。高人的東東被俺亂用調(diào)節(jié)好了,比FR的TOON功能還強(qiáng)。當(dāng)然FR的也很帥。據(jù)說MAYA有個外掛TOOMCAT,卡通渲染效果一流,有時間去試試。現(xiàn)在發(fā)現(xiàn)卡通風(fēng)格的東東還真有那么一點(diǎn)不一樣的味道呢。做一段手描線風(fēng)格的動畫肯定很好看。
上面幾張圖用MR渲的,因?yàn)橹灰€框效果,所以COLOR通道上只要上一個簡單的材質(zhì)就可以,最主要的問題來自于邊線的產(chǎn)生,和模擬真實(shí)筆觸的自然濃淡。然后考慮到材質(zhì)的可調(diào)節(jié)性,再加上了一些備用的功能。也是看一些教程然后再想想才會的,
這個是它的shader networking。
![](/d/file/e4d3112af7e70b3a14fd6230229a0bc5.jpg)
MR要渲染出卡通效果,有幾點(diǎn)比較重要,一個是當(dāng)前攝像機(jī)的輸出中要指定卡通渲染輸出,另外SHADER網(wǎng)絡(luò)中也要給定一個MR的卡通材質(zhì),(MR的卡通材質(zhì)有好多種,可以模擬出很多效果的),最后在全局渲染設(shè)定中也指定一些MR的相關(guān)SHADER。
首先,打開一個模型?,F(xiàn)在開始調(diào)材質(zhì)。
新建一個surfaceShader,說說為什么用這種SHADER, surfaceShader有個特性就是不受光照的影響。,而卡通效果基本上不用太多考慮光線,主要就是明暗的對比。當(dāng)然如果要做出光照的效果用其它材質(zhì)類型也可以。然后再新建一個RAMP,這個用來控制最終材質(zhì)的顏色。再來一個節(jié)點(diǎn),CLAMP,這個節(jié)點(diǎn)的用途是把輸入值強(qiáng)制切割在指定的范圍內(nèi)。和setRange節(jié)點(diǎn)有些類似,但不一樣。再建一個PHONG,也可以用BLINE等其它類型。只是PHONG的高光更加銳利些,當(dāng)然這個例子中是沒有高光的,只有邊線。
接下來開始連接,拖放CLAMP到RAMP上,選擇OTHER,然后在連接窗口中做如下連接:CLAMP的OUTPUTR(或者G,連接到RAMP上的U COORD上,如圖。
![](/d/file/f472a95f216275f721033a269477b2a3.jpg)
接著把PHONG的OUT COLOR下的OUT R連接到CLAMP上的INPUT R上,別連錯了。MAYA的節(jié)點(diǎn)屬性有一元屬性,二元屬性,三元屬性,數(shù)列矩陣等等,不過不怕,不對應(yīng)的屬性類型是無法連接上的。這樣就把PHONG的輸出色和CLAMP的輸入節(jié)點(diǎn)連起來了。
![](/d/file/079ef86eb1049257ac90007e8b18188b.jpg)
連接完成的節(jié)點(diǎn)網(wǎng)絡(luò)如下圖:
![](/d/file/489f3eeec69d3309a0759ba680d40703.jpg)
渲染,結(jié)果是黑黑一片,當(dāng)然了,沒設(shè)定CLAMP的屬性么,把CLAMP屬性窗口打開,設(shè)定如圖。
![](/d/file/aa270150a42001963721137d6a54c3a0.jpg)
它的意思比較簡單,就是限定最小輸出值為0,最大輸出值為1?,F(xiàn)在渲染看看,有些效果了吧。想起來了,忘了給RAMP的參數(shù)。
設(shè)定RAMP,類型先設(shè)定為SMOOTH,它的類型影響最后效果,顏色也影響最終顏色,并且色帶的位置影響著最后的高光(這個例子中沒有,)解釋一下參數(shù)的意思,第一條色帶是控制高光區(qū)域和顏色的,在材質(zhì)中可以同步看到。第二條色帶是控制卡通材質(zhì)的顏色(Diffuse),這里全為白,最后的那條就是陰影效果。這里要慢慢調(diào)節(jié)才能有一個好效果。(顏色調(diào)節(jié)得好的話,可以做國畫效果的)。
![](/d/file/21e6dc29cbb8edf98d0f163617d5f20f.jpg)
再渲染看看,有些效果了吧。但缺少卡通畫常有的效果,邊線!我們下一步要做的就是產(chǎn)生邊線。打開surfaceShader的上下級連接,在surfaceShader1SG下的MR選項(xiàng)中設(shè)定卡通材質(zhì)。
![](/d/file/71be17fb666a61a9ab44266e5ff456e0.jpg)
在隨后彈出的MR材質(zhì)界面中選擇卡通材質(zhì)類型中的一種,這里的類型很多,可以試試不同組合所帶來的不同效果。這是用的是contour_shader_simple,MR的材質(zhì)系統(tǒng)好復(fù)雜,頭都大了。什么時候能無縫集成就好了,無比幸福。
![](/d/file/d0655614fb7070854b75d2cdae149bcb.jpg)
在隨后彈出的MR材質(zhì)界面中選擇卡通材質(zhì)類型中的一種,這里的類型很多,可以試試不同組合所帶來的不同效果。這是用的是contour_shader_simple,MR的材質(zhì)系統(tǒng)好復(fù)雜,頭都大了。什么時候能無縫集成就好了,無比幸福。
![](/d/file/0499fb6c5bb370dab03eb95bf894a738.jpg)
MR卡通線風(fēng)格變化很多,可以根據(jù)距離確定線框的寬度,也能夠響應(yīng)燈光來確定寬度。
![](/d/file/38f57359d7d6fb2d6d0bc4b1a98a8c66.jpg)
圖2
![](/d/file/1714a15e0652692c04413eaf77cde87c.jpg)
現(xiàn)在所有工作都完成了。渲染時要注意,一定要是給定OUTPUT SHADER的攝像機(jī)才可以渲染出卡通邊線。另外,把AA設(shè)低一點(diǎn)效果更好。如果RAMP設(shè)定色不為全白,高光區(qū)域可能會過大,這時有兩辦法。一個是更改PHONG材質(zhì)的折射率為0,另一個是渲染時把反射與折射關(guān)閉掉。
![](/d/file/bc3300011dc6fbc7642deb8095915376.jpg)
渲染看一下,效果應(yīng)該是這樣的。
![](/d/file/d95313f2cb9bf220184f4bf03f3602dc.jpg)
邊線已經(jīng)產(chǎn)生,但是感覺很“硬”,現(xiàn)在打開contour_shader_simple節(jié)點(diǎn),它下面的兩個參數(shù)一看就懂,在COLOR上 添加一個NOISE,參數(shù)做如下設(shè)定。
![](/d/file/7e69b29c78b09ef7804745a9bec1041c.jpg)
這時如果渲染,邊線顏色一定不對,很淡。這時控制邊線的顏色辦法就是打開NOISE的COLOR GAIN 。
![](/d/file/a876dc1024c14a4ea9775f8332102c22.jpg)
這時如果渲染,邊線顏色一定不對,很淡。這時控制邊線的顏色辦法就是打開NOISE的COLOR GAIN 。
![](/d/file/ebbc50a0ed73a1f8f6b5400bf070f902.jpg)
把COLOR GAIN調(diào)低到近于全黑,現(xiàn)在再渲。效果就出現(xiàn)了。整個SHADER NETWORKING
![](/d/file/907575616a2761e6f1eef72195fe34dc.jpg)
這里參數(shù)比較簡單,一個是邊線的顏色,一個是寬度。多試自然就知道了,非科班出身的人就這點(diǎn)慘,俺們就知道一個個去試。
現(xiàn)在渲染,沒有出現(xiàn)想要的效果吧?因?yàn)楫?dāng)前攝像機(jī)的輸出設(shè)定中還沒有相關(guān)設(shè)定。選擇或者新建一個攝像機(jī),調(diào)好位置,然后打開它的屬性設(shè)置窗。在它下面的MR選擇中打開OUTPUT SHADER,給定一個contour_composite。參數(shù)默認(rèn)。
![](/d/file/11af62af6d1c7440816f2094da8bf352.jpg)
設(shè)置如圖。
![](/d/file/99820a3c8215143ee0b8cce0f8f9dde7.jpg)
打開全局渲染設(shè)置面板.指定當(dāng)前渲染器為MENTAL RAY,然后找到CUSTOM SHADERS,給定兩個卡通材質(zhì),類型看下圖。
![](/d/file/41bc3d7c2a7f1931571e1af854833733.jpg)
STORE SHADER用contour_store_function,這個節(jié)點(diǎn)可以提取到模型的點(diǎn),法線信息,材質(zhì),物體,三角面數(shù)目,反射與折射。原文幫助文件中是這樣的The contour_store_function shader returns the intersection point, normal, material tag, object label (tag), triangle index, color, and the refraction and reflection level。另一個同類型的節(jié)點(diǎn)只能提取到材質(zhì)信息,然后傳遞給下一個節(jié)點(diǎn),但是速度飛快。
設(shè)定contour_contrast_function_levels參數(shù)如下圖,它當(dāng)中參數(shù)有幾個很重要,對最終效果影響很大。ZDELTA和NDELTA的參數(shù)尤其明顯。NDELTA的參數(shù)越大,卡通邊線越細(xì),越小越粗。下面的那個DIFF_INTEX如果勾選的話,可以渲染出模型的線框,是三角面的。沒有認(rèn)真去調(diào)過。具體參數(shù)看看MAYA自身HELP中有關(guān)METAL RAY的章節(jié),解釋得很詳細(xì)。可以看看不同參數(shù)下的渲染效果。