我正在做一个夜空,我希望我的粒子系统中的星星闪烁。
我听说我可以使用噪音纹理随机,但我不知道从那里去哪里。而且我不确定如何使闪烁顺利发生,即。逐渐变亮,然后变暗。
现在我只给每个顶点一个随机rand
属性,然后每200ms左右改变一个统一twinkleRand
。如果randoms匹配,则该点变大:
if (rand == twinkleRand) {
gl_PointSize = size * abs(sin(js_time) + rand/100.);
}
else {
gl_PointSize = size;
}
这有点奇怪但不太令人信服。
答案 0 :(得分:2)
而不是改变磅值,改变颜色 - 你将获得更自然,更少脉冲的外观。并给每颗恒星一个独特的持久值,使它们闪烁,而不是频闪。
newColor = starColor * (1.0 - (sin(js_time*starSpeed)+1.0)*starVariance*0.5)