fast Skin Shader的運用
■ 王以斌
在之前的SSS葡萄質感中,筆者曾經介紹如何利用mental ray的misss_fast來產生半透光的葡萄質感,而在此範例中將介紹另一個類似的材質—misss_fast_skin_maya,此材質主要是用來產生皮膚的質感。另外會介紹一個外掛材質節點mix20layer,此節點類似Maya中的Layered Shader,您可以透過它將不同的材質混合在一起。
燈光設定
在一開始設定燈光之前,先指定一個Blinn材質給模型,先產生一盞由右往角色打的Key Light,經由算圖之後會有一個很明顯的對比光源效果,再產生一盞由正面偏左的Fill Light,將燈光的Intensity降低一點數值約0.25,經由算圖之後可以把暗面的部份做補光的動作。最後再產生一盞由背後往角色打的Back Light,經由算圖之後,我們可以得到左後方所產生光的邊緣效果,主要是為了描繪出角色和黑色背景的差異性(圖1)。
SSS基本設定
至Hypershade視窗中,切換到Create mental ray Notes下的Materials選項,點選一個稱為misss_fast_skin_maya的材質節點。當您開啟misss_fast_ skin _maya的屬性編輯器時,您會看到在材質部份多了一個Subsurface Scattering Layer的定義,裡面有包含了Epidermal Scatter Color、Subdermal Scatter Color和Back Scatter Color三個散射層,此三層分別代表皮膚的表皮層、真皮層和背層所造成的散射效果;以初始的SSS Fast Skin所顯示的顏色為一般的皮膚色,此顏色的最終結果是由在Diffuse Layer裡的Overall Color和Diffuse Color(代表表面的顏色),和Subsurface Scattering Layer裡的三個散射層,及Specularity所混合而成的(圖2)。
Light Map設定
將misss_fast_skin_maya指定給模型,即使您再做一次算圖也無法看到透光的效果(圖3)。因此我們必須在現有的材質上再做些其他的定義;首先是有關於燈光Light Map的定義,點選misss_fast_skin_maya材質節點,按下Input and Output Connections圖案,將Shading Group節點顯示出來,雙響Shading Group節點開啟屬性編輯器,在mental ray下的Custom Shaders欄位,點選Light Map Shader貼圖,至Light Maps選項下點選Misss_fast_lmap_maya,將它貼入Light Map Shader(圖4)。
您會在misss_fast_kin_maya和misss_fast_lmap_maya節點下,都會看到一個Lightmap的定義,您可以任選其中之一的Lightmap來做定義,例如我們選擇misss_fast_kin_maya裡的Lightmap按下貼圖圖案,它會自動產生一個mental ray Texture節點。這時再將此mentalray Texture節點使用中鍵拖到misss_fast_lmap_maya節點Lightmap Write欄位下的Lightmap,現在連結圖如圖5所示。
點選mentalray Texture節點,在屬性編輯器中的File Texture Attributes欄位做以下設定:
1.勾選Wirtable。
2. File Size Width = 800;當尺寸越大時品質會越好,但所花的計算時間會越長,您也可以將所計算圖檔大小的一倍來做定義。
3. File Size Height =800。
4. 將File Size Depth =32 bits;必須要設為32bits,不然無法顯示出SSS效果。
5. 在Image Name中指定一個路徑和名稱,主要是儲存Lightmap的資料,在此的檔名不拘。經由算圖的結果,可以比較出在加入Lightmap之後,模型內部所產生的散射效果(圖6)。
定義Diffuse Layer
在misss_fast_skin_maya材質節點中,不管是在Diffuse Layer或Scattering Layer欄位中,都會有個Weight的參數定義,此數值主要是定義此質感表現的強弱程度,如果您試著將Diffuse Weight設為0,您會發現上方的Sample顯示只會出現SSS Weight的顏色。
另外您也可以到Specularity欄位,將Overall Weight=0,代表將亮點的訊息關閉,這樣可以更清楚看到SSS效果;以現在臉部前方所看到的顏色是由表皮和皮下顏色所組成,至於較後面的紅色則是由Back Scatter Color來做定義(圖7)。
為了清楚地明白每個SSS所產生的效果,可以先將SSS三層都設為0,只將Diffuse Weight設為1,此效果會讓現在的質感看起來就和Lambert一樣,至於造成較白色的位置,則是由Overall Color和Diffuse Color相乘所產生的結果。這時如果將Diffuse Weight降低為0.4,此效果看起來會更像Lambert的質感,因為亮度的部份會大大地降低(圖8)。
定義Back Scatter Color
有了基本的Diffuse顏色之後,接下來先來調整Back Scatter Color,將Back Scatter weight設為1,以初始設定來看現在所造成的背面紅色光太強了,因為Radius(代表光可以擴散的距離)和Depth(代表光進入物體的深度)的數值都為25,如果您希望背面的紅光只在邊緣範圍的話,就需要降低此數值。
試著將Radius和Depth設為原來的一半12,這時您會在邊緣部份看到紅色的訊息,但是以正前方來說,此數值還是太大,再將Radius和Depth設為6,現在只會在耳朵和物體的邊緣上看到背面的紅色訊息,如果您希望耳朵會比下方的部份產生更多的透光效果,這時就需要利用貼圖來設定,讓耳朵的數值高一點,正下方的數值低一點。將Back Weight =1.5,將Radius =5,Depth =4;讓耳朵部份更亮,但邊緣光的散射降低(圖9)。
评论