Maya材質(zhì)教程
Maya材質(zhì)教程:mental ray卡通教程
編輯:Penny來源:發(fā)布時間:2010-06-28
首先看一下效果圖。
效果圖2。
效果圖3。
效果圖4。
2.這是來自劉闊老師的模型,就是有名的法線紋理的測試模型。高人的東東被俺亂用調(diào)節(jié)好了,比FR的TOON功能還強。當(dāng)然FR的也很帥。據(jù)說MAYA有個外掛TOOMCAT,卡通渲染效果一流,有時間去試試。現(xiàn)在發(fā)現(xiàn)卡通風(fēng)格的東東還真有那么一點不一樣的味道呢。做一段手描線風(fēng)格的動畫肯定很好看。
上面幾張圖用MR渲的,因為只要線框效果,所以COLOR通道上只要上一個簡單的材質(zhì)就可以,最主要的問題來自于邊線的產(chǎn)生,和模擬真實筆觸的自然濃淡。然后考慮到材質(zhì)的可調(diào)節(jié)性,再加上了一些備用的功能。也是看一些教程然后再想想才會的,
這個是它的shader networking。
MR要渲染出卡通效果,有幾點比較重要,一個是當(dāng)前攝像機的輸出中要指定卡通渲染輸出,另外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é)點,CLAMP,這個節(jié)點的用途是把輸入值強制切割在指定的范圍內(nèi)。和setRange節(jié)點有些類似,但不一樣。再建一個PHONG,也可以用BLINE等其它類型。只是PHONG的高光更加銳利些,當(dāng)然這個例子中是沒有高光的,只有邊線。
接下來開始連接,拖放CLAMP到RAMP上,選擇OTHER,然后在連接窗口中做如下連接:CLAMP的OUTPUTR(或者G,連接到RAMP上的U COORD上,如圖。
接著把PHONG的OUT COLOR下的OUT R連接到CLAMP上的INPUT R上,別連錯了。MAYA的節(jié)點屬性有一元屬性,二元屬性,三元屬性,數(shù)列矩陣等等,不過不怕,不對應(yīng)的屬性類型是無法連接上的。這樣就把PHONG的輸出色和CLAMP的輸入節(jié)點連起來了。
連接完成的節(jié)點網(wǎng)絡(luò)如下圖:
渲染,結(jié)果是黑黑一片,當(dāng)然了,沒設(shè)定CLAMP的屬性么,把CLAMP屬性窗口打開,設(shè)定如圖。
它的意思比較簡單,就是限定最小輸出值為0,最大輸出值為1?,F(xiàn)在渲染看看,有些效果了吧。想起來了,忘了給RAMP的參數(shù)。
設(shè)定RAMP,類型先設(shè)定為SMOOTH,它的類型影響最后效果,顏色也影響最終顏色,并且色帶的位置影響著最后的高光(這個例子中沒有,)解釋一下參數(shù)的意思,第一條色帶是控制高光區(qū)域和顏色的,在材質(zhì)中可以同步看到。第二條色帶是控制卡通材質(zhì)的顏色(Diffuse),這里全為白,最后的那條就是陰影效果。這里要慢慢調(diào)節(jié)才能有一個好效果。(顏色調(diào)節(jié)得好的話,可以做國畫效果的)。
再渲染看看,有些效果了吧。但缺少卡通畫常有的效果,邊線!我們下一步要做的就是產(chǎn)生邊線。打開surfaceShader的上下級連接,在surfaceShader1SG下的MR選項中設(shè)定卡通材質(zhì)。
在隨后彈出的MR材質(zhì)界面中選擇卡通材質(zhì)類型中的一種,這里的類型很多,可以試試不同組合所帶來的不同效果。這是用的是contour_shader_simple,MR的材質(zhì)系統(tǒng)好復(fù)雜,頭都大了。什么時候能無縫集成就好了,無比幸福。
在隨后彈出的MR材質(zhì)界面中選擇卡通材質(zhì)類型中的一種,這里的類型很多,可以試試不同組合所帶來的不同效果。這是用的是contour_shader_simple,MR的材質(zhì)系統(tǒng)好復(fù)雜,頭都大了。什么時候能無縫集成就好了,無比幸福。
MR卡通線風(fēng)格變化很多,可以根據(jù)距離確定線框的寬度,也能夠響應(yīng)燈光來確定寬度。
圖2
現(xiàn)在所有工作都完成了。渲染時要注意,一定要是給定OUTPUT SHADER的攝像機才可以渲染出卡通邊線。另外,把AA設(shè)低一點效果更好。如果RAMP設(shè)定色不為全白,高光區(qū)域可能會過大,這時有兩辦法。一個是更改PHONG材質(zhì)的折射率為0,另一個是渲染時把反射與折射關(guān)閉掉。
渲染看一下,效果應(yīng)該是這樣的。
邊線已經(jīng)產(chǎn)生,但是感覺很“硬”,現(xiàn)在打開contour_shader_simple節(jié)點,它下面的兩個參數(shù)一看就懂,在COLOR上 添加一個NOISE,參數(shù)做如下設(shè)定。
這時如果渲染,邊線顏色一定不對,很淡。這時控制邊線的顏色辦法就是打開NOISE的COLOR GAIN 。
這時如果渲染,邊線顏色一定不對,很淡。這時控制邊線的顏色辦法就是打開NOISE的COLOR GAIN 。
把COLOR GAIN調(diào)低到近于全黑,現(xiàn)在再渲。效果就出現(xiàn)了。整個SHADER NETWORKING
這里參數(shù)比較簡單,一個是邊線的顏色,一個是寬度。多試自然就知道了,非科班出身的人就這點慘,俺們就知道一個個去試。
現(xiàn)在渲染,沒有出現(xiàn)想要的效果吧?因為當(dāng)前攝像機的輸出設(shè)定中還沒有相關(guān)設(shè)定。選擇或者新建一個攝像機,調(diào)好位置,然后打開它的屬性設(shè)置窗。在它下面的MR選擇中打開OUTPUT SHADER,給定一個contour_composite。參數(shù)默認(rèn)。
設(shè)置如圖。
打開全局渲染設(shè)置面板.指定當(dāng)前渲染器為MENTAL RAY,然后找到CUSTOM SHADERS,給定兩個卡通材質(zhì),類型看下圖。
STORE SHADER用contour_store_function,這個節(jié)點可以提取到模型的點,法線信息,材質(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é)點只能提取到材質(zhì)信息,然后傳遞給下一個節(jié)點,但是速度飛快。
設(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ù)下的渲染效果。
效果圖2。
效果圖3。
效果圖4。
2.這是來自劉闊老師的模型,就是有名的法線紋理的測試模型。高人的東東被俺亂用調(diào)節(jié)好了,比FR的TOON功能還強。當(dāng)然FR的也很帥。據(jù)說MAYA有個外掛TOOMCAT,卡通渲染效果一流,有時間去試試。現(xiàn)在發(fā)現(xiàn)卡通風(fēng)格的東東還真有那么一點不一樣的味道呢。做一段手描線風(fēng)格的動畫肯定很好看。
上面幾張圖用MR渲的,因為只要線框效果,所以COLOR通道上只要上一個簡單的材質(zhì)就可以,最主要的問題來自于邊線的產(chǎn)生,和模擬真實筆觸的自然濃淡。然后考慮到材質(zhì)的可調(diào)節(jié)性,再加上了一些備用的功能。也是看一些教程然后再想想才會的,
這個是它的shader networking。
MR要渲染出卡通效果,有幾點比較重要,一個是當(dāng)前攝像機的輸出中要指定卡通渲染輸出,另外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é)點,CLAMP,這個節(jié)點的用途是把輸入值強制切割在指定的范圍內(nèi)。和setRange節(jié)點有些類似,但不一樣。再建一個PHONG,也可以用BLINE等其它類型。只是PHONG的高光更加銳利些,當(dāng)然這個例子中是沒有高光的,只有邊線。
接下來開始連接,拖放CLAMP到RAMP上,選擇OTHER,然后在連接窗口中做如下連接:CLAMP的OUTPUTR(或者G,連接到RAMP上的U COORD上,如圖。
接著把PHONG的OUT COLOR下的OUT R連接到CLAMP上的INPUT R上,別連錯了。MAYA的節(jié)點屬性有一元屬性,二元屬性,三元屬性,數(shù)列矩陣等等,不過不怕,不對應(yīng)的屬性類型是無法連接上的。這樣就把PHONG的輸出色和CLAMP的輸入節(jié)點連起來了。
連接完成的節(jié)點網(wǎng)絡(luò)如下圖:
渲染,結(jié)果是黑黑一片,當(dāng)然了,沒設(shè)定CLAMP的屬性么,把CLAMP屬性窗口打開,設(shè)定如圖。
它的意思比較簡單,就是限定最小輸出值為0,最大輸出值為1?,F(xiàn)在渲染看看,有些效果了吧。想起來了,忘了給RAMP的參數(shù)。
設(shè)定RAMP,類型先設(shè)定為SMOOTH,它的類型影響最后效果,顏色也影響最終顏色,并且色帶的位置影響著最后的高光(這個例子中沒有,)解釋一下參數(shù)的意思,第一條色帶是控制高光區(qū)域和顏色的,在材質(zhì)中可以同步看到。第二條色帶是控制卡通材質(zhì)的顏色(Diffuse),這里全為白,最后的那條就是陰影效果。這里要慢慢調(diào)節(jié)才能有一個好效果。(顏色調(diào)節(jié)得好的話,可以做國畫效果的)。
再渲染看看,有些效果了吧。但缺少卡通畫常有的效果,邊線!我們下一步要做的就是產(chǎn)生邊線。打開surfaceShader的上下級連接,在surfaceShader1SG下的MR選項中設(shè)定卡通材質(zhì)。
在隨后彈出的MR材質(zhì)界面中選擇卡通材質(zhì)類型中的一種,這里的類型很多,可以試試不同組合所帶來的不同效果。這是用的是contour_shader_simple,MR的材質(zhì)系統(tǒng)好復(fù)雜,頭都大了。什么時候能無縫集成就好了,無比幸福。
在隨后彈出的MR材質(zhì)界面中選擇卡通材質(zhì)類型中的一種,這里的類型很多,可以試試不同組合所帶來的不同效果。這是用的是contour_shader_simple,MR的材質(zhì)系統(tǒng)好復(fù)雜,頭都大了。什么時候能無縫集成就好了,無比幸福。
MR卡通線風(fēng)格變化很多,可以根據(jù)距離確定線框的寬度,也能夠響應(yīng)燈光來確定寬度。
圖2
現(xiàn)在所有工作都完成了。渲染時要注意,一定要是給定OUTPUT SHADER的攝像機才可以渲染出卡通邊線。另外,把AA設(shè)低一點效果更好。如果RAMP設(shè)定色不為全白,高光區(qū)域可能會過大,這時有兩辦法。一個是更改PHONG材質(zhì)的折射率為0,另一個是渲染時把反射與折射關(guān)閉掉。
渲染看一下,效果應(yīng)該是這樣的。
邊線已經(jīng)產(chǎn)生,但是感覺很“硬”,現(xiàn)在打開contour_shader_simple節(jié)點,它下面的兩個參數(shù)一看就懂,在COLOR上 添加一個NOISE,參數(shù)做如下設(shè)定。
這時如果渲染,邊線顏色一定不對,很淡。這時控制邊線的顏色辦法就是打開NOISE的COLOR GAIN 。
這時如果渲染,邊線顏色一定不對,很淡。這時控制邊線的顏色辦法就是打開NOISE的COLOR GAIN 。
把COLOR GAIN調(diào)低到近于全黑,現(xiàn)在再渲。效果就出現(xiàn)了。整個SHADER NETWORKING
這里參數(shù)比較簡單,一個是邊線的顏色,一個是寬度。多試自然就知道了,非科班出身的人就這點慘,俺們就知道一個個去試。
現(xiàn)在渲染,沒有出現(xiàn)想要的效果吧?因為當(dāng)前攝像機的輸出設(shè)定中還沒有相關(guān)設(shè)定。選擇或者新建一個攝像機,調(diào)好位置,然后打開它的屬性設(shè)置窗。在它下面的MR選擇中打開OUTPUT SHADER,給定一個contour_composite。參數(shù)默認(rèn)。
設(shè)置如圖。
打開全局渲染設(shè)置面板.指定當(dāng)前渲染器為MENTAL RAY,然后找到CUSTOM SHADERS,給定兩個卡通材質(zhì),類型看下圖。
STORE SHADER用contour_store_function,這個節(jié)點可以提取到模型的點,法線信息,材質(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é)點只能提取到材質(zhì)信息,然后傳遞給下一個節(jié)點,但是速度飛快。
設(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ù)下的渲染效果。