神临的 Unity shader 学习之多Pass渲染 (九)
最近一直在忙着学习和制作关于网络加载的一些问题,毕竟在现在和将来网络应用是个永恒不变的主流内容.
继续上次的说,如果尝试了上面的pass就会知道,他只能适用于类似于球体这样的模型,如果换做有棱角的模型,就会发现在棱角处出现明显的裂痕,这是在实际渲染中是不被允许的,所以为了能够避免这方面的错误,就需要进行插值的的使用了,
插值其实在我们渲染中一直被广泛的运用,在屏幕成像中插值也是一直在起到至关重要的作用,它能够弥补两种或多种颜色之间的颜色协调,从而达到理想的效果.
这里我就说到这里了,如果想知道如何避免出现裂缝就去在网上查找相关完整的shader实例,相信你会明白插值的使用的.
如下图,这是在商业用途,也就是为了挣钱的项目中的轮廓使用,(图片摘自网络)
大家可以看到这里的轮廓拥有了发光的效果,从而让整个游戏的感官提升.
但是在像这样的实际的项目制作中是用不到我们上次说的轮廓的制作方法的.
在实际的制作中,我们希望光线能够渐变减淡,从而给人真实的体验,比如我们在夜间看到的各种灯光如下图.
它的核心算法并不是通过法线扩展延伸等其他的方法,而是通过模糊处理,将光线颜色在一定区域内模糊,从而达到理想的效果,像Bloom就是如此.
这种效果被称为人眼的余辉,是由人眼的视觉引起的效果.
首先给出一张正常的图片(从网上随意拿了一张图,进行制作演示)
然后这里我进行高斯模糊
然后这里是合并之后的效果
是不是马上就有了这次要说的光效效果.
所以我们要制作这样的shader,就要模仿刚才的处理过程,从而制作出我们想要的效果.
因为时间关系,先写到这里,下次再继续.谢谢.