Shader算法之Rim

获取观察方向和物体Normal的夹角

这样可以获取到边缘的值

float rim = 1.0 - saturate(dot(IN.viewDir, o.Normal));
o.Emission = _Color  * pow(rim, _RimPow); 
o.Alpha = rim;  

dot(IN.viewDir, o.Normal)//获取观察方向对Normal方向的差异
如果差异越小则返回值越大。
1-之后则是差异越小则返回值越小,当观察者与Normal方向接近垂直时的值越大。
所以看到的就是接近边缘的地方了

Hologram的实现,就是把需要透明显示的部分的Alpha通道用Rim值代替


版权声明:本文为shujianlove0原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。