在uTorrent的最新版本中,如果打开“关于”窗口,您将看到动画背景,这种背景会一直持续下去。
如何实现?这是一种众所周知的算法/一类算法吗?
谢谢。
#1 楼
正如您在自我答案中发现并提到的那样,背景中的图案似乎是正弦梯度的总和。但是,答案中链接的示例比µTorrent所使用的示例更为复杂。 。 “关于”窗口的背景似乎是静态图案,而不是等离子柱中使用的动画正弦图案。
几个正弦梯度相加得出单个图像,并且产生了运动的错觉通过简单地循环显示一幅图像中的颜色,而不是生成许多不同的图像来给出。如果您将注意力集中在彩色环之一的中心,这将最为明显。在µTorrent模式中,您会注意到每个环都停留在一个位置,并且颜色流入或流出。相比之下,完全动画的图案中的彩色环会四处移动,偶尔会分开或合并。
µTorrent使用的简化方法使人联想到过去在重新计算每个帧的正弦图案时使用的动画。不现实。
#2 楼
经过一番搜索,我发现它叫做等离子。等离子体效应#3 楼
可以通过将两个(或多个)径向正弦曲线加在一起,然后通过另一个正弦函数对所得相位进行动画处理来大致重现该效果。使用www.shadertoy.com进行验证。
void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
vec2 uv = fragCoord.xy / iResolution.xy;
float d = sin(length(uv - vec2(0.5)) * 35.0) + sin(length(uv - vec2(0.2,0.3)) * 45.0);
d = sin(d * 4.0 + iGlobalTime * 4.0)*0.5+1.0;
fragColor = vec4(d,d,d,1.0);
}
评论
$ \ begingroup $
对于更有趣的事情,您也可以为径向形状的原点设置动画。 -> float d = sin(长度(uv-vec2(0.5))* 35.0)+ sin(长度(uv-vec2(0.2 + sin(iGlobalTime),0.3))* 45.0);
$ \ endgroup $
–PaulHK
16年7月26日在8:21
评论
@trichoplax我删除了图片并添加了GIF。谢谢。看起来像调色板循环效果。图像本身是静态的。