Maya制作卡通材質(zhì)技術(shù)教程(4)
在這一課里,完全地展示了如何創(chuàng)建卡通材質(zhì)(Cartoon shader)的實際工作步驟,我們使用RAMP節(jié)點,以及其他的幾種工具節(jié)點,對Blinn材質(zhì)進行重新分布(Remapping),最終,即能達到類似卡通效果的著色方式(Shader)。
此外,本課的內(nèi)容能加深對連接編輯器(Connection Editor)和工具節(jié)點(Utility nodes)、創(chuàng)建自制的著色網(wǎng)絡(luò)(Custom Shading Networks)的深層理解。
第一步:
在 Hypershade 窗口里,選擇 Create->Create Render Node.. 分別創(chuàng)建下列節(jié)點:
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 材質(zhì)節(jié)點用于描繪物體上的高光。因為Ramp 可以將灰階值重新分布成連續(xù)的色彩,會使灰階 blinn 變成卡通效果。Sampler info 節(jié)點獲取物體邊界的信息。
02第二步:
在 Hypershade 窗口里,鼠標中鍵拖動Blinn1節(jié)點至Clamp1 節(jié)點上釋放,選 Other… ,彈出連接編輯器(Connection Editor)窗口,
將左邊 Blinn1 節(jié)點的 Outcolor 與 Clamp1 節(jié)點的 Input 相連。
03接下來,讓Clamp1 節(jié)點降低灰階值,使這些值小于等于1(<=1),同時會切斷所有灰階大于1(>1)的高光。(superwhite)。
開啟 Clamp1 節(jié)點的屬性編輯器(Attribute Editor),將 Max 左邊的輸入框設(shè)為1。這個輸入框代表紅色通道(中間=綠色,右邊=藍色),
由于灰色是R,B,G各相等值混合而成的,所以,在此只需要一個通道就可以了。 Min 應設(shè)為0。
04第三步:
以上述方法,用連接編輯器,將 Clamp1 節(jié)點的 Output R 與 Ramp1 節(jié)點的 V coord 相連。
05請確保 Ramp1 節(jié)點的 Type 為 V Ramp,F(xiàn)在Ramp1 的 color output實際上等于 Input 的灰階值(0<= clamp1 Color R Output <=1)。
這種方法稱為重繪(Remapping)。
06第四步:
將 Ramp1 節(jié)點的 Out Color 與 Condition1 節(jié)點的 Color If True (Color1) 相連。
將 Sample info1 節(jié)點的 Facing Radio 與 Condition1 節(jié)點的 First Term 相連。
Facing Ratio 是表面上點面向攝影機的角度,如果這個點距離攝影機90度,F(xiàn)acing Ratio =0,
如果表面法線和攝影機射線之間角度是0,F(xiàn)acing Ratio=1。具體請查閱 Maya在線手冊
第五步:
開啟 Surface shader1 的屬性編輯器。選 Add->Add Attributes… 添加下列屬性(float,scalar):
LineThickness: Min 0, Max 1, Default .2
LineR
LineG
LineB
LineThickness和顏色都屬于用戶可定(user-definable)的。
07第六步:
將 Suerface shader1 節(jié)點的 LineThickness 與 Condition1 的 Second Term 相連。
Suerface shader1 節(jié)點的 Line R 與 Condition1 的 Color If False (Color2 R) 相連。
Suerface shader1 節(jié)點的 Line G 與 Condition1 的 Color If False (Color2 G) 相連。
Suerface shader1 節(jié)點的 Line B 與 Condition1 的 Color If False (Color2 相連。
將 Condition 的Operation 設(shè)為 Greater Than。
08如果 Facing Ratio (condition1的第一個條件)小于 LineThickness (第二條件),Condition1 的Output = Color2 (surface shader1里
設(shè)置的LineRG,否則 Output = Color1 (來自ramp1-blinn1 的顏色)。
將 Condition1 節(jié)點的 Out Color 與 Surface shader1 節(jié)點的 Out Color相連。
下圖是 Hypershade 中的節(jié)點關(guān)系:
09第七步:
可以把 Ramp1 調(diào)成你喜歡的色彩?ㄍú馁|(zhì)通常把 Ramp 顏色之間的 Interpolation 設(shè)為 None,這樣能產(chǎn)生較為均勻的邊線。下圖為 Ramp1
最終的外觀。
此外,也可以做一些額外的修改:
1.在surface shader1 屬性編輯器里調(diào)整Line Thickness 和 colorRGB,這兩個值分別控制邊線的粗細和顏色。
2.調(diào)節(jié) blinn1 參數(shù)能產(chǎn)生不同的高光。
3.甚至可以給 Blinn1 添加一個凹凸貼圖,這種方法一般用于運動的小蟲。
4.也可用其他的材質(zhì)代替 Blinn1 ,產(chǎn)生各式各樣高光。
總結(jié):
本課闡述了如何創(chuàng)建卡通材質(zhì),通過這一課的學習,掌握了創(chuàng)建卡通著色技術(shù),同時也對各種節(jié)點之間工作原理及建立復雜的著色網(wǎng)絡(luò)有了更加清楚地認識。
學習 · 提示
相關(guān)教程