當前位置:首頁 >教程首頁 > 影視後期 > 影視原畫與模型渲染大師班 >金剛RenderMan毛發渲染

金剛RenderMan毛發渲染

發布時間:2018-11-17 19:57:24
為金剛製作一個逼真的毛發渲染係統成為了Weta Digital的視覺特效師麵臨的首要挑戰。當電影主角是一個25英尺(7.62米)高的橫衝直撞的大猩猩時,就必須要設計出一個可靠的毛發渲染係統。當金剛在電影裏出現的時候,它的毛發要根據劇情和環境做出適當的變化。有時候毛發是梳洗幹淨的,有時候上麵充滿了泥土和樹葉,還有時上麵灑滿了雪或者毛發全部都浸濕了。我們需要發展一個可以處理這些情況的毛發渲染係統。
 

 
金剛不是唯一一個需要靈活的毛發係統的數字角色。所有的數字角色都需要使用同樣的毛發渲染係統。這些角色包括女主角Ann(在這部電影裏換了眾多的發型)、冒險號(這艘船把演員們載到了骷髏島)上的船員以及紐約街道上的其它景物。甚至數字角色的毛發大衣也是由金剛的毛發渲染係統生成的。
 
毛發係統出現了有幾年了,也在很多電影裏得到了應用。但是,我們在這裏想討論Weta Digital如何通過超越標準的毛發渲染係統來滿足《金剛》的創作需求。
 
毛發生成
 
毛發係統是通過RenderMan裏的wmFur插件實現的,這個插件是Martin Preston編寫的。毛發是從遍布整個細分曲麵的毛囊裏創建的,現實裏的毛發也是從毛囊裏長成的。毛發直接從表麵長出,然後由變形器通過梳理毛發使之栩栩如生。
 

 
變形器在梳理TDs中是用來創作出需要的外觀。其中有簡單的變形器(如聲音和波紋)也有比較複雜的定向變形器(如簇變形器和線變形器)。正如它的名字表達的意思一樣,簇變形器允許藝術家將周圍的毛發彎向中間毛發。線變形器是由任意數量的CVs組成的,線變形器從皮膚裏長出,可以被建模。它在一定程度上影響周圍的毛發。對於一個特定的角色,可能會有數個梳理程序以使身體不同部位的毛發具有不同的特點。舉個例子,金剛的手臂、頭部和胸部有不同的毛發梳理程序。等等。
 
為了控製毛發變形器,藝術家們需要通過使用紋理貼圖或者單頂點原始變量(使用Maya的Artisan繪製)來指定各項表麵特性。這些特性包括長度、光禿度、稠密度以及變形器其他的控製變量。
 
通過對變形器進行分層,藝術家(毛發梳理師)們得以以程序化並且非破壞性地快速創建,改變金剛毛發的外觀。例如,頭發可以朝特定方向彎曲。然後通過使用簇變形器可以改變彎曲度。所有的這一切都不會影響先前生成的毛發簇的行為。因為金剛的外觀必須具有強烈的藝術感,所以這一點非常重要。通過對多次迭代進行測試可以逐步製作出需要的外觀。
 
最終,DSO為金剛製作了300-350萬根毛發,盡管毛發的數量在很大程度上取決於拍攝需要。有趣的是,我們決定不去存儲DSO產生的毛發,而是去在每一幀裏重新生成毛發。當權衡了傳輸數GB的毛發緩存時花費的可觀的網絡帶寬和每次重新產生毛發時花費的成本,我們做出了這個決定。最終,鑒於前麵提到的在網絡上傳輸巨大的緩存文件帶來的成本,Weta的大規模的“渲染農場”在每一幀的基礎上生成了毛發。
 
毛發渲染
 
Weta為了生成金剛的頭發采用了Stephen Marschner在2002年發表的名為“人類頭發纖維的光散射”論文裏提出的光照模型。為了既能渲染金剛粗糙雜亂的頭發又能渲染Ann的幹淨漂亮的金發,這篇論文的細節經過改良並應用於RenderMan的著色器。非常好的一點是,使用Marschner的光照模型做出了幹淨的洗發水廣告裏的頭發效果。所以為了做出金剛需要的外觀效果,我們對這個模型做了一係列的改進和優化。麵臨的挑戰就是和金剛的模型上的由髒兮兮的犛牛毛製成的毛發進行匹配。
 
Marschner 模型
 
Marschner的論文基於它的單一毛纖維光散射實證測量模型。論文主要觀點為頭發的射主要存在三個亮點:第一個亮點來自發絲表麵直接的鏡麵反射。第二個亮點(和第一個亮點不同)是由射入頭發內部的光(透射進去的)由另一個方向從內部反射出來光形成的。最後一個亮點來自直接透過頭發的光(例如從背後光源照過來的光)。
 

 
為了實現該理論,渲染模型將每根頭發纖維近似為一個透明的橢圓柱體。這種橢圓柱體內部可以吸收光,它的表麵由傾斜的鱗片覆蓋(傾斜角度為表皮層角)。每根頭發的方向會對著色產生影響。隨著軸向轉動的不同,和其他方位相比,一些特定的方位會產生較強的反射亮點。在第二個亮點中,那些特定朝向的橢圓橫截麵會使光聚焦成一個明亮的亮點,這常常會產生閃爍或者焦散。
 
該模型也導致了第一第二亮點的分離。第一亮點向發根移動,並且因為它完全是由反射產生的,所以它的顏色取決於光的顏色。第二亮點向發梢移動並且由於它是由內部透射出來的光產生的,所以它的顏色取決於頭發的顏色。
 
金剛的具體細節
 
用於金剛的著色器設置時采用兩種方式來處理光的透射和吸收。第一種方式是,著色器負責處理從背後光源透射過來的光。第二種方式是,燈光設置負責處理大量頭發對光的透射和吸收。
 
如果一根顏色較淺的頭發被從背後過來的光照射,它往往會發光並且發出熒光。這種現象就是光透過頭發時產生的透射現象,但它很大程度上取決於頭發的顏色(由於黑色頭發吸收了光的絕大部分,所以黑色頭發沒有這種特質)。如上文所述,還存在一種焦散現象,焦散會導致透過頭發的光看起來比光源更明亮。
 
對穿過大量頭發的光的透射和吸收是通過累加光透過頭發時產生的顏色和不透明度來進行處理的。鑒於RenderMan的深度著影工具在累加半透明物體的不透明度和顏色時的出色表現,它們是完成這種工作的絕佳工具。為了生成深度陰影貼圖,Weta不想使用著色球的全部實力來生成每個陰影(有時會達到20個甚至更多),所以Weta在陰影渲染器裏使用了精簡版的頭發著色器。對頭發進行渲染時隻計算頭發透過的光的多少。使用這種著色球來進行深度陰影渲染時會同時減少光的透過量。
 
最後,Weta需要把金剛的毛發變得粗糙,然後添加控件以賦予金剛在野生動物身上才有的毛發變化。為了實現這一目標,他們首先在金剛的頭發上添加了一個圓柱形的漫射項來負責處理灰塵。然後,表皮層角度(Marschner描述的)被“隨意設置”以表現更多破碎蓬亂的頭發,使其看上去和犛牛的毛發相似。最後,添加控件以生成薄膜油層(用在頭部的毛發上麵)並且使毛發看起來油潤有光澤。
 
閉塞和陰影
 
為了給金剛的毛發製作陰影,Weta同時使用了深度陰影貼圖和“卷閉塞”貼圖。正如前文所提到的,深度陰影擅長減弱透過毛發的光。他們被用來為關鍵/主要光源製作陰影並且用來製作毛發對光的吸收。
 

 
大量的閉塞貼圖被用來在每一個整潔的底片上計算、存儲毛發的環境閉塞。大量的磚質貼圖以同樣的方式被用來製作表麵的環境閉塞表麵貼圖。首先,毛發上帶著given groom的金剛被擺放成特定的姿勢(不要忘了,這是per-groom map),對於毛發上的每一個點都要計算閉塞量。然後以磚貼圖的方式存儲(使用毛發“直接突出”的Pref來使其變得雜亂)。和任何磚貼圖一樣,這可以通過毛發著色器來觀察以發現閉塞和彎曲的方向。總而言之,毛發閉塞有助於保護毛發叢的細節,但是由於是每個groom變得獨立,每次groom變化時它都需要更新。
华体会hth体育网 賞析
  • 2101期學員李思庭作品

    2101期學員李思庭作品

  • 2104期學員林雪茹作品

    2104期學員林雪茹作品

  • 2107期學員趙淩作品

    2107期學員趙淩作品

  • 2107期學員趙燃作品

    2107期學員趙燃作品

  • 2106期學員徐正浩作品

    2106期學員徐正浩作品

  • 2106期學員弓莉作品

    2106期學員弓莉作品

  • 2105期學員白羽新作品

    2105期學員白羽新作品

  • 2107期學員王佳蕊作品

    2107期學員王佳蕊作品

專業問題谘詢

你擔心的問題,火星幫你解答

微信掃碼入群領福利

掃碼領福利最新AI資訊

點擊谘詢
添加老師微信,馬上領取免費課程資源

1. 打開微信掃一掃,掃描左側二維碼

2. 添加老師微信,馬上領取免費課程資源

×

同學您好!

您已成功報名0元試學活動,老師會在第一時間與您取得聯係,請保持電話暢通!
確定