下雨Shader,触摸擦除雨点,声控闪电
先丢一个演示视频:https://www.bilibili.com/video/BV1E5411R7az。
整体来说,是根据 https://b23.tv/ZapyRQy 这个教程学习的。Shader的雨点是纯数学运算的,目前没有特别理解其中的奥妙,只是觉得太牛了。源Shader来自于ShaderToy。
触摸擦除雨点,是记录了触摸的轨迹,然后Tick的时候,维护轨迹的生命周期,并对点附近的像素提供颜色权值贡献,之后将这张贴图传递给Shader,Shader通过颜色任意一个通道的值,在mipmap的不同层次采样即可。
声控闪电则是采集声音音量大小,以一定权重乘在最后frag返回的颜色值上,让屏幕变亮即可。
现在TODO的有两个,一个是如何优化触摸擦除雨点相关逻辑,在手机端比较卡顿;另外是要研究一下这个雨点Shader究竟是如何用数学计算画出雨点的。