06_鼻线添加
鼻线添加
转动灯光到正面这里看不见鼻子了,所以需要对鼻线进行添加 
贴图信息
鼻线的位置在面部贴图的Alpha通道中
之前代码中已经提取了,但没有使用 
获取观察向量
因为鼻线需要对视线方向做混合,偏转大的视角比如说侧脸,就直接看不见鼻线,所以需要获取观察向量 
计算鼻线的DisplayValue
这里直接在SDF代码下面写就行。先获取描边颜色,后面进行混合处理。根据点乘判断方向>0同向,小于0反向,计算ViewDir和HeadUP点积已及ViewDir和HeadRight点积。 我这里没有对鼻线的颜色进行修改,直接就使用面部描边颜色,如果要修改再加一个变量控制即可
这里描边颜色之前变量写在局部的描边Pass内,我这里移动到了全局变量中,同时追加两个变量
计算混合值,这里很多应该都是经验性的处理,对_NoseLineKDnDisp, _NoseLineHoriDisp进行插值,这里是进行了竖直方向的Alpha控制,混合水平控制直接使用了viewDotHeadForward - dispValue;然后钳制和混和贴图鼻线
反正最后效果就是上下左右的偏转都看不见鼻线,只在正脸的小范围有鼻线。理论上了乘法混合,效果也差不多,因为乘法原因是取到0时对应角度太大了,所以得对viewDotHeadForward范围钳制一次,有点多余。这块自己随意调整吧
这里换乘法混合效果是差不多的
参数设置,我这里参数如下,自己看着调就行:
当前效果 
Enjoy Reading This Article?
Here are some more articles you might like to read next: