Unity PBR Shader之頭髮渲染

一,參考資料

https://gamesartist.co.uk/realistic-hairstyle-tutorial-marcin-cecot/

https://80.lv/articles/tips-tricks-on-hair-for-games/

https://80.lv/articles/making-hair-and-beards-for-aaa-games/

 

二,光照模型

1,Kajiya-Kay

理論模型:假設頭髮是不透明的完美圓柱體

只考慮反射,沒考慮透射,內部反射和吸收

 

2,Marrchner

理論模型:頭髮不是完美的圓柱體或管子,實際上,頭髮更像是一系列堆疊的圓錐體。每一根頭髮纖維由角質層(cuticle)和皮層(cortex)兩部分組成

R      R爲反射路徑,反射出來的光線顏色爲原始光源顏色
TRT  光線進入頭髮纖維內部,部分能量被吸收,所以最終反射出來的光線具有頭髮纖維的顏色
TT    透射-透射路徑,TT出來的光線也是有色的,但是顏色比TRT的飽和度要低,因爲只經過了一次折射

 

三,Alpha處理:AlphaTest + TAA

 

四,材質接口

Scatter
該屬性替換了主着色器節點上的 Metallic,並且值限制在 0.0 和 1.0 之間。Scatter控制有多少光穿過角色整個頭髮。淺色頭髮,Scatter數值更高;深色頭髮,Scatter數值偏低。這遵循自然世界的物理規則,因爲較深的頭髮往往會吸收更多的光。
實際上,如果你想創建一個金髮的角色,你會發現僅僅改變漫反射紋理或顏色是不夠的;您還必須增加 Scatter 值。

Normal
此處輸入的是切線而不是法線數據,或者使用Flowmap來制定切線方向。注意,渲染頭髮一般不用NormalMap

 

轉載請註明出處:https://www.cnblogs.com/jietian331/p/17057811.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章