Unity Shader之皮肤渲染之用颜色实现sss效果
参考文章:https://zhuanlan.zhihu.com/p/571468873
shader面板参数如下:
漫反射部分使用了ramp贴图,和3层上色,来模拟SSS的效果。
Ramp贴图从左到右,从白色到暗色,u坐标使用NoL来采样。
数学意义是,光线垂直打到的地方更亮,光线垂直处NoL为0,故采样最左边;光线与法线方向夹角越大,光线越暗,故采样Ramp右边区域。
这里三层上色的意思是,暗处使用设置的颜色。这里还可以调整NoL的偏移,以及颜色的权重程度,可以极好地还原皮肤的SSS效果,并使表现层次更丰富。
通过调整Ramp的V坐标,可以实现软过渡与硬过渡的切换。