我正在制作太阳系行星旋转的动画。
https://ru.stackoverflow.com/a/918238/28748
缺少逼真的星空动画背景,如下图所示。
恒星的大小、亮度、相对位置应该是随机的。
最好添加更大的星星闪烁。
使用 svg,我不能做类似的效果,因为在这种语言中没有类似的东西,如JS Math.random()
如何实现这样的动画Javascript?
我正在制作太阳系行星旋转的动画。
https://ru.stackoverflow.com/a/918238/28748
缺少逼真的星空动画背景,如下图所示。
恒星的大小、亮度、相对位置应该是随机的。
最好添加更大的星星闪烁。
使用 svg,我不能做类似的效果,因为在这种语言中没有类似的东西,如JS Math.random()
如何实现这样的动画Javascript?
尽可能接近原件关闭。天上的星星在做什么?好吧,它们最多会跳动或消失一段时间。通过应用具有不同持续时间的相同动画,我们获得了相当逼真的效果。星星的大小从 1 到 5 个像素不等,但我们以 10% 的概率生成一颗大小相同的星星
giant——它们比其余的小十倍,稍大一点。您#root>div可以取消注释blur以获得更真实的效果,但一切都会滞后。建议展开到整页。作为一种选择,您可以创建一堆将成为星星的元素,给它们一个随机的位置和大小。
有的,比如大于设定值的,加个css类,增加闪烁。
例如像这样:
除了常规元素,您还可以使用带有自定义动画的 svg 元素,甚至更好。
我在 WebGL 上的 5 美分 =)
要在现实生活中使用它,您至少需要用纹理替换数学噪声。
可以在此行中更改噪声的种子
星星的排列方式会改变
该选项更简单,着色器中循环的迭代次数更少,星星和刹车更少。