1

夜空を作っているのですが、ParticleSystem の星をきらめかせたいと思っています。

ランダム性のためにノイズ テクスチャを使用できると聞いたことがありますが、そこからどこへ行くべきかわかりません。そして、きらめきをスムーズに実現する方法がわかりません。徐々に明るくなり、その後暗くなります。

現在、各頂点にランダムなrand属性を与えてからtwinkleRand、200ms ごとにユニフォームを変更しています。ランダムが一致する場合、ポイントは大きくなります。

if (rand == twinkleRand) {
   gl_PointSize = size * abs(sin(js_time) + rand/100.);
}
else {
   gl_PointSize = size;
}

それは一種のきらめきですが、説得力のある効果ではありません.

4

1 に答える 1

2

ポイント サイズを変更するのではなく、色を変更します。より自然で脈動の少ない外観が得られます。そして、ストロボではなくきらめくように、各星に固有の持続的な値を与えます。

newColor = starColor * (1.0 - (sin(js_time*starSpeed)+1.0)*starVariance*0.5)
于 2012-12-31T11:45:46.223 に答える