(本次案例的效果)
最近下载了一套特效,其中一个关于闪电制作的shader想法特别聪明,这里特地附上原代码,并教你怎么把源代码转换成连连看,下面开始正文。这是原本shader定义的属性:_TintColor(闪电的颜色)_MainTex(一张RGB通道分开明显的贴图,这个很关键)_DistorTex1(影响扭曲的灰度图1,这里用的是噪波图)_DistorTex2(影响扭曲的灰度图2,这里用的是噪波图)_DistortSpeed(前两个变量控制_DistorTex1,后两个变量控制_DistorTex2)_Offset(控制闪电前后渲染顺序)(_MainTex选用的贴图)顶点函数的数据和赋值都不难。
片元函数里的内容也不难,但是非常的聪明,充分利用通道,并输出,最后呈现模拟闪电的效果。下面是连连看的部分:(先上完整图)
其实整个节点图可以分成三份来看第一部分:(_DistorTex1作用的实现)第二部分:
(_DistorTex2作用的实现)第三部分:
把刚刚_DistorTex1和_DistorTex2效果的末节点Multiply连到图中花圈的add节点上,然后再接到_MainTex的UV,最后添上颜色输出效果。图中粒子主体部分用的就是刚刚的shader,需要用到粒子的Trails,这里仅提供思路,过于细枝末节的部分就不展示了。