頭髮與普通PBR 材質最大的區別是 頭髮是各項異性的高光, 參考實現主要爲下面文章git
http://web.engr.oregonstate.edu/~mjb/cs519/Projects/Papers/HairRendering.pdfweb
頭髮包含 2個高光,以及高光方向和 tangent 朝向相關blog
頭髮的diffuse部分能量不守恆排序
頭髮高光受 頭髮紋理自己遮罩控制,用於表現髮絲效果ip
頭髮的tangent能夠固定爲 Y向上,可使高光 恰好繞頭髮 造成一個圈get
根據頭髮自己的貼圖亮度,對高光進行噪音化偏移, 使高光更能接受it
頭髮根據從內到外的層,設置renderQeueu,來調整渲染順序,底層優先渲染pdf
透視開啓頭髮的AlphaClip,AlphaBlend 使髮絲邊緣柔和渲染
開啓頭髮的Zwrite,避免頭髮排序錯亂im
BaseColor是帶Alpha通道 頭髮貼圖, 控制頭髮邊緣
頭髮的Specular 控制 高光分佈,爲高光增長隨機, 同時提供高光顏色
同時也做爲 遮罩,控制diffuse 和 specular 的亮度
經過控制 12級 高光的 顏色 指數 和 偏移 來增長兩個高光效果