Maya 真不愧是三頭六臂,面對這些挑戰,我收集了針對Maya 材質質感部分具有代表性,權威性的Maya 材質教程。
盡管這些教程不是那么振奮人心,但他們可以工作并可為進一步考究和改進的基礎,通過這些練習的學習來探討 Maya 各種節點的工作原理,是力圖幫助我們能攀登到 Maya 貼圖技術的頂峰,從而構造出一套有條不紊體系結構。隨著經驗的增長,不久我們就會發現自己已經變成專家了。
由于本文涉及有關 Maya 材質的高級運用,是一種更適合有經驗的用戶的形式來編寫的。加上我的翻譯水平有限,文中所譯難免有不妥之處,懇請諸位看官海涵。 在這一課里,完全地展示了如何創建卡通材質(Cartoon shader)的實際工作步驟,我們使用RAMP節點,以及其他的幾種工具節點,對Blinn材質進行重新分布(Remapping),最終,即能達到類似卡通效果的著色方式(Shader)。
此外,本課的內容能加深對連接編輯器(Connection Editor)和工具節點(Utility nodes)、創建自制的著色網絡(Custom Shading Networks)的深層理解。
第一步: 在 Hypershade 窗口里,選擇 Create->Create Render Node.. 分別創建下列節點: 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 材質節點用于描繪物體上的高光。因為Ramp 可以將灰階值重新分布成連續的色彩,會使灰階 blinn 變成卡通效果。Sampler info 節點獲取物體邊界的信息。
02第二步: 在 Hypershade 窗口里,鼠標中鍵拖動Blinn1節點至Clamp1 節點上釋放,選 Other… ,彈出連接編輯器 (Connection Editor)窗口,將左邊 Blinn1 節點的 Outcolor 與 Clamp1 節點的 Input 相連。
03接下來,讓Clamp1 節點降低灰階值,使這些值小于等于1(<=1),同時會切斷所有灰階大于1(>1)的高光。(superwhite)。 開啟 Clamp1 節點的屬性編輯器(Attribute Editor),將 Max 左邊的輸入框設為1。這個輸入框代表紅色通道(中間=綠色,右邊=藍色),由于灰色是R,B,G各相等值混合而成的,所以,在此只需要一個通道就可以了。 Min 應設為0。
04第三步: 以上述方法,用連接編輯器,將 Clamp1 節點的 Output R 與 Ramp1 節點的 V coord 相連。
05請確保 ramp1 節點的 type 為 v ramp?,F在ramp1 的 color output實際上等于 input 的灰階值(0<= clamp1 color r output <=1)。這種方法稱為重繪(remapping)。
06
第四步: 將 ramp1 節點的 out color 與 condition1 節點的 color if true (color1) 相連。 將 sample info1 節點的 facing radio 與 condition1 節點的 first term 相連。 facing ratio 是表面上點面向攝影機的角度,如果這個點距離攝影機90度,facing ratio =0,如果表面法線和攝影機射線之間角度是0,facing 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 節點的 linethickness 與 condition1 的 second term 相連。 suerface shader1 節點的 line r 與 condition1 的 color if false (color2 r) 相連。 suerface shader1 節點的 line g 與 condition1 的 color if false (color2 g) 相連。 suerface shader1 節點的 line b 與 condition1 的 color if false (color2 相連。 將 condition 的operation 設為 greater than。
08如果 facing ratio (condition1的第一個條件)小于 linethickness (第二條件),condition1 的output = color2 (surface shader1里設置的linerg,否則 output = color1 (來自ramp1-blinn1 的顏色)。 將 condition1 節點的 out color 與 surface shader1 節點的 out color相連。下圖是 hypershade 中的節點關系:
09 第七步: 可以把 ramp1 調成你喜歡的色彩??ㄍú馁|通常把 ramp 顏色之間的 interpolation 設為 none,這樣能產生較為均勻的邊線。下圖為 ramp1最終的外觀。
此外,也可以做一些額外的修改:
1.在surface shader1 屬性編輯器里調整line thickness 和 colorrgb,這兩個值分別控制邊線的粗細和顏色。
2.調節 blinn1 參數能產生不同的高光。
3.甚至可以給 blinn1 添加一個凹凸貼圖,這種方法一般用于運動的小蟲。
4.也可用其他的材質代替 blinn1 ,產生各式各樣高光。
總結: 本課闡述了如何創建卡通材質,通過這一課的學習,掌握了創建卡通著色技術,同時也對各種節點之間工作原理及建立復雜的著色網絡有了更加清楚地認識。
新聞熱點
疑難解答