關於CG角色的毛髮,可以說是影視製作流程中的頂級難題之一。最早只是透過貼圖製作角色毛髮,這在當時可以說是十分了不起的嘗試。

20多年過去了,隨著CG技術的不斷進步,毛髮製作也精細了許多。先來康康《玩具總動員》第一部和第四部的角色毛髮對比吧。

Houdini毛髮製作:從鄉巴佬變潮人

Houdini毛髮製作:從鄉巴佬變潮人

Houdini毛髮製作:從鄉巴佬變潮人

Houdini毛髮製作:從鄉巴佬變潮人

《玩具總動員4》

想要讓CG創作的毛髮具有真實感,這背後複雜的解算以及計算量等方面,一直都是CG製作中棘手難題。隨著技術迭代升級,如今藝術家們腦海中CG角色毛髮大都可以活靈活現的呈現。

Houdini毛髮製作:從鄉巴佬變潮人

CG毛髮技術的進步少不了行業人士不斷地探索與學習。來自義大利的資深行業技術講師和大家分享使用Houdini建立高階感的毛髮的教程,讓角色的毛髮時髦起來~一起來學習一下吧~

Denis Zen,有20多年三維製作及講師經驗,參加他課程的學生有很多在全球頂尖的工作室工作,包括迪斯尼、工業光魔、維塔等。

Houdini毛髮製作:從鄉巴佬變潮人

Houdini毛髮製作:從鄉巴佬變潮人

Houdini毛髮製作:從鄉巴佬變潮人

Zen製作的 Grooming 案例

前言

Houdini通常被視為一個解算(模擬)工具,其實是一個功能齊全的DCC軟體,可以做毛髮造型,視效開發,燈光渲染等。在這個教程中,我們會展示毛髮梳理之前和梳理之後的兩種造型,當中會學習到如何使用皮克斯出品的著色器和燈光。

教程會主要介紹毛髮梳理“之後”的版本,因為它結合了Houdini 18的最新技術,包括新的繪畫屬性節點。

Houdini毛髮製作:從鄉巴佬變潮人

PS:感興趣的小夥伴建議下載教程素材檔案,動手學起來(微信公眾號後臺回覆“CG界託尼老師”)

記得要在Houdini開啟檔案之前設定專案(檔案>設定專案。。。),以便讀取$JOB變數,並在專案的tex目錄中找到所有紋理,在geo目錄中找到頭部模型。

Zen使用的頭部模型來自3D SCAN STORE,而且是免費。

Houdini毛髮製作:從鄉巴佬變潮人

Scene Setup 場景設定

首先,將模型匯入到Houdini並且設定一個非常簡單的燈光來檢查Groom。這一點非常重要,因為毛髮非常稀薄,光線與毛髮的互動方式對於造型和視效開發過程至關重要。

第一步(燈光設定將在後面介紹),選擇Pxr環境日光,簡單而寫實的效果是這個燈光的主要特點。

建立一個用於渲染最終幀的新相機也很有用。可以移動透視攝像機拍攝模型。

Houdini毛髮製作:從鄉巴佬變潮人

如圖所示,PxrEnvDayLight非常具有互動性,在主燈光階段可以提供很好的反饋。你只需要調整強度和方向。

要改變光的方向,你可以使用旋轉工具或調整基本控制引數(經度,緯度等)。

Houdini毛髮製作:從鄉巴佬變潮人

Latitude(緯度)

Houdini毛髮製作:從鄉巴佬變潮人

Longitude(經度)

你也可以透過調整Sun Size數值以調整陰影的柔軟度。

Houdini毛髮製作:從鄉巴佬變潮人

Sun size &;gt; 陰影的柔軟度

如圖所示,因為這是一個Omni Lights(全域性光),光線沒有變換,也就是說,燈光放置的位置不會影響結果。

Grooming

對於CG界的髮型師而言(製作寫實毛髮的通則),參考素材是基本的。找到360度的髮型參考素材並不容易,所以Zen搜尋YouTube Beardbrand頻道,那裡每個影片結尾,髮型師會360度展示客戶的髮型,這就是參考素材。

Houdini毛髮製作:從鄉巴佬變潮人

參考素材源自YouTube Beardbrand頻道

Grooming 包括兩個步驟:

1、Guide Styling 引導線造型(毛髮種植的方式)

2、Hair Styling 毛髮造型

Guide styling

Zen喜歡Houdini的程式化工作流程,自帶的梳理工具很棒,但Zen通常更願意使用GroomBear,由Kamil Wacławiak所開發。這個工具很贊,讓你髮型製作的非常快。

Houdini毛髮製作:從鄉巴佬變潮人

你可以輕鬆地無損地烘焙該節點,沒有這個外掛的朋友也可以開啟該場景檔案或使用雲渲染也沒問題。

Zen把Grooming分成不同的部分,給他們不同的引導方向和密度。

Hair 頭髮

Moustache 八字鬍

Beard 絡腮鬍

Eyebrows 眉毛

Eyelashes 睫毛

Nostril hairs 鼻毛

Peach fuzz 絨毛

引導線的造型是關鍵,也是最困難和費時。

下面這一步在Guide Groom節點中操作:

Houdini毛髮製作:從鄉巴佬變潮人

Houdini毛髮製作:從鄉巴佬變潮人

頭頂毛髮引導線設定

這些製作過程並不都是一樣的。Houdini十分有用的工具之一是Guide Advect工具,它使你可以簡單地透過繪製筆觸輕鬆地覆蓋毛髮。

Houdini毛髮製作:從鄉巴佬變潮人

Houdini毛髮製作:從鄉巴佬變潮人

透過速度場來設定引導點

在這個過程中,繼續使用Houdini Grooming工具和GroomBear工具去設計引導線風格。這個過程不是很難,但如果你想做成真實的效果是非常耗時的。

這是最終的樣子:

Houdini毛髮製作:從鄉巴佬變潮人

接下來是為每個部分繪製遮罩。這是Grooming的重要部分,因為它可以讓你使用顏色圖(color maps)控制毛髮的生長方式和位置。

Houdini 18引入了一個新版本的Attribute Paint(繪畫屬性)節點,有了很大改進。

Houdini毛髮製作:從鄉巴佬變潮人

你繪製的遮罩越多,你獲得的控制也就越大。以下是Zen的設定:

Houdini毛髮製作:從鄉巴佬變潮人

在這裡,我們可以在模型上看到一些視覺化內容:

Houdini毛髮製作:從鄉巴佬變潮人

從紅外線顏色圖可以輕鬆檢視細微的密度差異

Hair styling毛髮造型

現在是時候為頭髮做造型了,因此對於每個引導部分,都建立了一個Hairgen Generate節點,新增各種修改器,使頭髮看起來儘可能真實。

Houdini毛髮製作:從鄉巴佬變潮人

每種毛髮造型都是不同的,但大多數情況下最終會使用相同的修改器。區別在於它們的設定和組合。

最常見的修改器是 Clump、 Noise、 Bend 和 Length。

Houdini毛髮製作:從鄉巴佬變潮人

Zen通常從Clump開始,因為它是每個毛髮的靈魂,而且層次是一個關鍵特徵。

Houdini毛髮製作:從鄉巴佬變潮人

你可以用不同的方式設定層次

方法一

你可以使用Clump節點的Clump設定,為每個層次調低數值。

Houdini毛髮製作:從鄉巴佬變潮人

方法二

Houdini Clump節點有一個Fractal Clumping的選項,這個功能很棒。

Houdini毛髮製作:從鄉巴佬變潮人

設定“Fractal Clumping”的數值,你可以使用一個節點來細分發束Clump。

方法三

建立髮束層的另一種方法是將“Hair Generate”節點與“Clump”節點的“Custom Clump Curves(自定義聚集曲線)”相連。這樣你可以得到更多的控制甚至為毛髮/引導線新增修改器:

Houdini毛髮製作:從鄉巴佬變潮人

你也可以用Hair Generate節點製作第一層毛髮。使用這個節點的優勢是,你可以使用節點引數(density密度, masks遮罩等)更好地控制髮束曲線。

Houdini毛髮製作:從鄉巴佬變潮人

為了清楚地視覺化你的髮束,你可以將“Color(顏色)”節點連線到Hairclump節點的第一個輸出(引導線),並分配一個Clumpid變數。

Houdini毛髮製作:從鄉巴佬變潮人

在這之後,Zen使用了一個Noise Modifier (噪波修改器),比如Frizz(毛躁)節點賦予了頭髮很自然的感覺。透過調整它的設定,你幾乎可以得到任何你想要的毛躁效果。

Houdini毛髮製作:從鄉巴佬變潮人

這個節點實現自然的髮型的另一個關鍵特徵:飄逸的毛髮。打造由於乾燥,靜電,護髮產品和其他原因而產生捲曲的毛髮。

Houdini毛髮製作:從鄉巴佬變潮人

要獲得飄逸的毛髮,使用“Mask(遮罩)”選項卡的“Noise Mask(噪聲遮罩)”。將“Gain”設定為1,並調整“Noise Mask Frequency(噪聲遮罩頻率)”和“Bias”設定,以決定你想要的飄逸感:

Houdini毛髮製作:從鄉巴佬變潮人

變化是另一個關鍵特徵,遮罩Masks就尤為重要。用它們來驅動儘可能多的屬性,因為毛髮由大約15萬個獨立的髮束組成,這些髮束根據許多元素(Dirt汙垢,Age年齡,Length長度,Gender性別等)而建立多種樣式。

除了我們剛剛看到的Paint屬性Mask外,幾乎每個Houdini節點屬性都有一個選單,可以讓你選擇不同型別的Mask。

Houdini毛髮製作:從鄉巴佬變潮人

不幸的是,Houdini沒有像Maya中的“噪點”畫筆。因此如果要獲得一些“邋遢”效果,必須從部繪畫應用程式中匯入貼圖。

另一個很棒的修改器Bend(彎曲)節點,和Curve Mask(曲線遮罩)一起結合使用:

Houdini毛髮製作:從鄉巴佬變潮人

設定Effect Position(效果位置)和Range Min(最小範圍) 和Max(最大值),你可以決定哪一部分(紅色)受了影響(選中“Visualize Masks視覺化遮罩”以檢視它)。

關於毛髮真實感的最後一個技巧是Clump節點中的Curl選項。低數值在大多數情況下都能達到很好的效果。

Houdini毛髮製作:從鄉巴佬變潮人

沒有選擇Curl捲曲。注意,製作的毛髮十分規則。

Houdini毛髮製作:從鄉巴佬變潮人

使用Curl捲曲。髮型更自然了。有時候很微妙,但是每個細節都很重要。

我們也可以在八字鬍和鬍鬚上應用同樣的技術。唯一的區別在於修改器的設定,因此你要發揮創意!

這是最終的效果:

Houdini毛髮製作:從鄉巴佬變潮人

Lighting and Shading 燈光和著色

現在我們得到了想要的髮型,現在是時候新增一些燈光並開始為模型著色了。

燈光設定非常重要,因為它可以讓你檢查頭髮的流動和外觀。如果你想轉盤渲染(render a turntable),那麼你的模型要360度完美呈現。

Zen通常從三點布光開始(Key,Fill,Back)並新增其它的燈光,確保良好展示所有角度:

Houdini毛髮製作:從鄉巴佬變潮人

為了更好地理解燈光是怎樣影響你的模型,每次只使用一個燈光。

Houdini毛髮製作:從鄉巴佬變潮人

Houdini網格分佈:

Houdini毛髮製作:從鄉巴佬變潮人

Shop通常是建立著色器的地方。

在建立最終著色器之前,Zen通常使用兩個簡單的灰色著色器:淺灰色的用於頭髮,深灰色的用於面板。

有了這些,可以快速檢查模型的毛髮和色調的差異,顯示髮型的空洞或其它一些問題。直到你滿意了,才建立最終的。

RenderMan著色器顏色在“Scene View(場景圖)”中不可見,並且應用在模型中顯示為灰色。為了克服這個問題,必須在材料網路中構建原生的Houdini材質:

Houdini毛髮製作:從鄉巴佬變潮人

Houdini毛髮製作:從鄉巴佬變潮人

點選Scene View工具欄的Texture圖示以視覺化材質:

Houdini毛髮製作:從鄉巴佬變潮人

如果無法看到著色器的應用,關閉當前的“Scene View”並開啟一個新的:

Houdini毛髮製作:從鄉巴佬變潮人

然後建立一個簡單的面板著色器。。。在這裡就不作深入講解啦~本文只是讓大家瞭解Zen如何使用Houdini製作毛髮。

幸運的是,3D Scan Store的模型都帶紋理,你需要在連線紋理之前轉換成。tex檔案格式。最簡單的方法是使RenderMan Texture Manager(紋理管理器),它可以為你處理所有的紋理轉換。

你還可以使用 txmake,它位於 $rmantree / bin 中。

貼圖轉換的一個快速技巧是開啟一個空的命令提示符,將txmake可執行檔案拖放到cmd視窗中(而不是編寫路徑),然後拖放要轉換的紋理。

Houdini毛髮製作:從鄉巴佬變潮人

要快速儲存新的tex檔案,請在cmd視窗中拖動紋理兩次,併為最後一個新增。tex副檔名。

一旦轉換了紋理,建立一個RIS Shader Network(單擊RenderMan選項卡中的圖示),然後進入新建立的網路,建立一個PxrSurface材質。

Houdini毛髮製作:從鄉巴佬變潮人

在這個節點中你可以建立你的材質。

Houdini毛髮製作:從鄉巴佬變潮人

如圖所示,Zen將最終材質分為兩部分,一部分是BXDF,另一部分是Displacement,它們透過Collect節點連線在一起,PxrSurface處理表面著色,PxrDisplace處理幾何著色。

作為一名Groomer,Zen不會花很多心思處理著色器,因為視效開發人員通常會在製作中完善它,所以Zen簡單地將對映(Diffuse漫反射,Specular高光,Normal法線等等)連線輸入,並調整一些常規的著色器設定。

Houdini毛髮製作:從鄉巴佬變潮人

請注意,修飾之前的模型面板看起來不夠清爽,當油漬和汙漬覆蓋面板時,會發生這種情況。你可以使用高光貼圖和數值進行調整。

Houdini毛髮製作:從鄉巴佬變潮人

準備好將其應用到模型中,將其載入到Geo節點的Render Tab的材質引數中:

Houdini毛髮製作:從鄉巴佬變潮人

對於頭髮,Zen製作了四個不同的著色器以實現之前說的變化:

Houdini毛髮製作:從鄉巴佬變潮人

如圖所示,每個著色器由兩部分組成:Pxr Hair Color和Pxr Marschner Hair。

Houdini毛髮製作:從鄉巴佬變潮人

PxrHairColor是Melanin-besed黑色素樣式,所以我們可以透過數值讓頭髮從金色變成黑色:

Houdini毛髮製作:從鄉巴佬變潮人

另一個需要特別注意的設定是Hair ID Primvar,每一個髮束都有一個獨特的值。如果hairIndexPrimvar數值為空,隨機選項不會發揮作用。

看看它們之間的區別:

Houdini毛髮製作:從鄉巴佬變潮人

PxrMarschner毛髮著色器可以處理毛髮的物理著色。透過更改高光設定(Primary主要,Secondary次要和Transmit透射),你可以從光澤/溼潤的外觀變為柔和:

Houdini毛髮製作:從鄉巴佬變潮人

對於髮色,以下有很好的文件資源:

PxrHairColor:

https://

rmanwiki。pixar。com/disp

lay/REN23/PxrHairColor

PxrMarschnerHair:

https://

rmanwiki。pixar。com/disp

lay/REN23/PxrMarschnerHair

Rendering 渲染

現在可以渲染模型了,Groomer的任務通常還會包含一個360度的轉盤渲染,小夥伴們可以嘗試旋轉相機,這樣比較節省時間。通常Zen會這樣操作:

·建立一個空物件Null Object;

·把它放在模型的中心;

·動畫旋轉360度;

·將渲染相機作為“動畫化的空物件 Animated Null”(已與燈光作為父項)的父項。

該空物件驅動這一切:

Houdini毛髮製作:從鄉巴佬變潮人

在為燈光設定父物件之前,記得檢查保持燈光的位置,避免它們錯位。

Render Settings渲染設定

建立一個RIS節點,轉到Out Network,按Tab並從下拉選單中選擇 RenderMan:

Houdini毛髮製作:從鄉巴佬變潮人

單擊剛剛建立的RIS節點,以在Parameter Pane Tab中訪問其設定(或按P鍵)。

Samples取樣

已著色的毛髮渲染起來非常耗時,你必須特別注意設定,特別是Sampling(取樣)。Zen做了很多測試,以下這些數值是速度和質量之間的良好折衷:

Houdini毛髮製作:從鄉巴佬變潮人

噪波在影象的較暗部分中更為明顯。要消除它,您可以減小Pixel Variance或增加Maximum Samples:

Houdini毛髮製作:從鄉巴佬變潮人

最後,你可以在燈光設定的“高階”選項卡中增加“Light Samples”:

Houdini毛髮製作:從鄉巴佬變潮人

使用這些設定,噪波更小,光線取樣更清晰,但渲染時間也隨之更長。

渲染通道Render Passes(AOVs & LPEs)

要想增加照片逼真度,每個影象渲染後要進行後期處理,如果不想費勁處理渲染設定,可以選擇多通道渲染,然後在Nuke合成最終效果。

在“Out Network”選擇要儲存的渲染通道,選擇RIS節點,然後在“Parameters Pane Tab”中選擇“Images(影象)”:

Houdini毛髮製作:從鄉巴佬變潮人

這些是Zen通常用於合成的通道:

·Standard: z (depth)

·Lighting: albedo, directDiffuse, directSpecular, indirectDiffuse, IndirectSpecular, subsurface

新增渲染通道不會增加渲染時間,因此可以隨意選擇所需的渲染通道,並將渲染檔案另存為OpenEXR(。exr)檔案格式。

Compositing 合成

最後~使用Nuke修改影象。

產生逼真的首個基本效果是景深。儘管DOF在後期中並不像在渲染中那樣完美,但很多時候在後期中做會更好,因為:

耗時

不能改變主意

使用z(Depth深度)通道十分輕鬆,可以在幾秒鐘內確定影象的焦點在哪一部分。

Houdini毛髮製作:從鄉巴佬變潮人

只需建立一個 ZDefocus 節點:

選擇你要的焦點放置focal_point;

將Math設定為Direct(或任何其他選項);

調整景深(影象的焦距);

尺寸和最大值(示效果要多強烈)。

如果將滑鼠游標停在字域的值上,Nuke會顯示相應的解釋。

Houdini毛髮製作:從鄉巴佬變潮人

要使用其他通道,你必須使用Shuffle節點從。exr檔案中提取它們:

Houdini毛髮製作:從鄉巴佬變潮人

選擇合適的通道後,你需要選擇遮罩作為顏色分級。

Houdini毛髮製作:從鄉巴佬變潮人

現在,你可以應用Nuke Color Correction(顏色校正)節點獲得最終外觀。以下是Zen用來校正影象的簡單網路:

Houdini毛髮製作:從鄉巴佬變潮人

這是其中一種結果:

Houdini毛髮製作:從鄉巴佬變潮人

Conclusion 總結

教程中涵蓋了Groom到渲染的主要步驟,希望給各位小夥伴們提供一些新的思路。瞭解了Grooming的過程後,你可以將其中的思路應用到其他地方:例如 XGen、YETI 或者Ornatrix 等一些主流的產品。

素材源自RenderMan及網路