写在前面
补了春节前特效的课,久违地进行了一些连连看。但学了noise原理的人怎能止步于连连看!
Shadertoy
又是Voronoi,老熟人了。
叠两层不同频率的噪声,频率高的可以移速更快一点。因为模仿火焰,uv可以个一个y方向上的位移。
float c = worley(uv + vec2(0.,-iTime))0.5;
c += worley(uv2.+vec2(sin(iTime2.)0.5,-iTime6.))0.5;//2 Layers worley
再准备一个圆形的模板,圈出小火苗的范围。
通过smoothstep划分出内外焰层次。因为希望焰芯位置偏下,这里又乘了一次y坐标。
float c1 = smoothstep(.5,.52,mc2.);//mid fire
float c2 = smoothstep(.5,.52,mc1.2*(-uv.y+0.3));//inner fire
再加亿点点细节。
划分出了外焰,加了一点小火星儿,颜色给了一些渐变,模板调整成了水滴形。
原来点share就可以直接获得embed shadertoy的码....我之前苦苦截gif是为了什么....
👉完整代码👈