Hello . 大家好,我這次帶來了完整的手遊寫實角色渲染合集,我是麥田。本次是寫實頭發的各向異性表達——Kajiya-Kay光照模型。一起來看這篇U3D實時渲染教程之角色頭發各向異性表達(上)。
這個係列主要分為三個部分:
1.頭發的渲染
2.皮膚的渲染
3.眼睛的渲染
每個分為2個文章,第一篇講基礎理論,第二篇講實際操作,最後的工程文件分別是Shader代碼和Shader圖表兩種形式。
一、觀察
在遊戲內,出於性能的考慮。引擎不會做到和DCC軟件使用離線渲染器渲染出來一樣的毛發效果,如Maya的XGen這種質感。這時候我們就有了替代方案,即:使用麵片頭發。這就涉及到了如何去表達頭發的質感問題。
毛發的各異

螺紋不鏽鋼的各異

二、分析
我們先從美術角度分析一下頭發:
我們可以看到頭發上的高光和傳統的球體的高光不一樣,頭發的高光更近似一個不規則的條狀(如果放置在一個平麵上)。

而且條狀的上下似乎有一定的漸變規律,暗-亮-暗。金屬器皿上的高光波紋近似。我們著重介紹頭發的理論基礎。


上圖圈1的區域是亮的,圈2是暗色,這裏我們從觀察可以得出頭發的高光形狀與明暗的變化。如果觀察的仔細的話,可以回憶一下,生活中,看到姑娘的頭發,會跟隨看的方向和光產生偏移,以及透光性(散射)。
三、總結
從美術角度總結一下:
1.需要用麵片做出好看的頭發模型。

2.頭發想要好看必須要有一個這種形狀的高光,並且有明暗過度。
3.能受到燈光的影響,表達出她的透氣感。
我們再從程序的角度分析一下頭發:
找案例,Render Doc截幀,Profile,Frame Debug ,review源碼,一氣嗬成(哈哈,開個玩笑)
既然說到這裏,我們就引入GDC2004的那片PDF的內容吧——Kajiya-Kay模型傳送門:

(注:worldBinormal就是我們要的副切線,這裏寫做了副法線)
可以看出利用cross(叉積)來得出向量,然後再乘上tangentSign得到最終確定方向的副切線。所以說副切線的方向主要是由tangentSign來決定的,而tangentSign是由v.tangent.w* unity_WorldTransformParams.w計算得出的。
這裏的法線切線副切線的基礎內容,在知乎的Taecg的一片文章介紹的非常詳細了。我這裏隻是拾人牙慧簡單捋一遍。傳送請走:https://zhuanlan.zhihu.com/p/103546030
五、回歸到公式理解


T,即為上文講到的切線。但是這裏是副切線,H是什麼呢?H是光入射方向L和視口方向V的中間向量,通常也稱之為半角向量(Half),半角向量被廣泛用於各類光照模型如Blinn—Phong。
為什麼會有這個H呢?我們來回想一下Blinn-Phong的光照模型和示意圖:

Blinn-Phong和Ponng的區別就在於多了一個H
當視線正好與反射向量對齊時,半程向量就會與法線完美契合。所以當觀察者視線越接近於原本反射光線的方向時,鏡麵高光就會越強。
獲取半程向量的方法很簡單,隻需要將光線的方向向量和觀察向量加到一起,並將結果歸一化(Normalize)就可以了。
在引入半向量H之後,我們現在應該就不會再看到Phong光照中高光斷層的情況了。下麵兩個圖片展示的是兩種方法在鏡麵光分量為0.5時的對比:

除此之外Blinn-Phong就沒什麼好說的了,Blinn-Phong與Phong唯一的區別就是,Blinn-Phong測量的是法線與半程向量之間的夾角,而Phong測量的是觀察方向與反射向量間的夾角。
繞了一堆,不就是Blinn—Phong高光的計算公式麼!
我們知道了這兩個數值,回到公式,我們再看一下,是不是了然了?
哦!就是副切線和LightingDir+ViewDir的和,然後點積,然後平方,然後用1減去這個值後再開方!最後想要到這個效果我們再平方。
六、實踐光照模型
我們用Graph複原一下邏輯,驗證一下想法!

Graph邏輯圖
這個高光模型我們給到一個球上觀察,OK,基本的環狀效果已經有了,剩下的就是加入comb map 來細化了。
觀察

CombMap采樣

寫在後麵:頭發的光照模型我感覺更加近似一個經驗值模型,是基於觀察近似的算法而非基於理論模擬。我們可以在這個理論模型的基礎上進行一些改進,讓它更加符合我們想要的一個效果。原理雖然枯燥,但確實很重要。具體的改動,會在實操的第二章節介紹。
頭發卡我卡得最難受的地方可能就是半透排序的方式了。思路是從模型下手加上雙Pass解決。
七、完整內容效果

八、完整內容預習
以下是完整的Graph圖表和Shader代碼部分(手擼),有興趣的朋友可以先看一下。具體工程下一篇講完的時候放出來。


理解透徹光照模型後,具體實現的細節很容易了,下回見!
來源:Thepoly公眾號
下一篇 引擎裏麵常見的渲染方式分享
熱門課程
專業講師指導 快速擺脫技能困惑相關文章
多種教程 總有一個適合自己專業問題谘詢
你擔心的問題,火星幫你解答在廣州這座繁華的都市中,數字創意產業正蓬勃發展,廣州視頻剪輯培訓成為許多影視愛好者的理想起點。隨著短視頻平台和影視製作需求的激......
在北京這樣一座充滿創意活力的都市,UI設計培訓正成為無數年輕人追逐職業夢想的跳板。隨著數字經濟的蓬勃發展,UI設計行業在北京展......
在當今創意經濟蓬勃發展的浪潮中,北京平麵設計培訓成為眾多職業追求者的理想起點。這座城市的活力與機遇吸引著無數人投身視覺藝術領域......
在影視和設計行業蓬勃發展的今天,虛幻引擎作為核心技術工具,正引領著視覺創作的革命。越來越多的人渴望掌握這門技能,而專業的培訓成......
在北京這座文化創意中心,平麵設計培訓行業蓬勃發展,為渴望入行的學員提供了豐富機遇。隨著數字媒體和影視產業的崛起,掌握視覺傳達技......
在上海這座充滿活力的城市,影視和設計行業正迎來前所未有的發展機遇,數字技術的進步讓3D建模成為創意產業的核心驅動力。參加專業的......
同學您好!