![Unity各向異頭髮高光著色器(Anisotropic Highlight Shader)](/images/unity-urp-anisohighlight-hair-shader/CathyShih_MoveMainLightDemo.gif)
Unity各向異頭髮高光著色器(Anisotropic Highlight Shader)
- 頭髮 , 著色器( shader)
- 2024年1月20日
下圖左: Unity通用渲染管線預設Lit著色器; 中: UMA角色創建建議使用的SpeedTree8著色器; 右: 我的著色器
![](/images/unity-urp-anisohighlight-hair-shader/CathyShih_ShaderComparisonDemo_hu2bf52c4731d3e69ceec9165b6c726b79_983420_2400x800_resize_q80_h2_lanczos_3.webp)
頭髮模型在遊戲中很常用,但是Unity預設的URP材質對於頭髮著色並沒有達到我想要的效果。因此,我開發了這個各向異性高光頭髮著色器來增強專案中的頭髮渲染。
這個著色器(Shader)的目的是改善Unity通用渲染管線(URP)對頭髮高光渲染的視覺美感。
- Unity 2022.3.16f1LTS
- URP 14.0.9
- Shader Graph 14.0.9
這個著色器(Shader)運用了Unity專案 BoatAttack 中的主光著色器來獲取主光的方向和顏色。使用這個著色器需要附上各向異方向材質。以下的渲染結果使用了WillB的UMA(Unity Multipurpose Avatar System)頭髮模型。當光的方向改變時的渲染結果:
![](/images/unity-urp-anisohighlight-hair-shader/CathyShih_MoveMainLightDemo.gif)
運用的模型紋理(Texture):
![](/images/unity-urp-anisohighlight-hair-shader/CathyShih_TexturesforTesting_hu1f57379751f84585ee3f2b7c9509db86_959675_300x300_resize_q80_h2_lanczos_3.webp)
UMA是一個免費的角色創建系統,UMA的使用者經常會需要改變頭髮材質的顏色,以下是改變顏色後的效果:
![](/images/unity-urp-anisohighlight-hair-shader/CathyShih_ColorChangeDemo.gif)
你可以到我的Github下載這個著色器。