一,參考資料
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