Curl noise for particles
Article
curl noise for particles |
Video
Abstract
ほとんどすべてのパーティクルシステムは,パーティクルの動きに加えて,何らかのノイズが必要である.通常は次のように,毎フレームごとに各パーティクルに何らかの弱い力(Velocity)を与える.
particle[i].force.x += random(-0.1,0.1);
particle[i].force.y += random(-0.1,0.1);
一様感や流体が目的でなく,ぐらぐらするパーティクルを作りたいならばこの方法で良い.しかし,なめらかな動きや一体感のある流体のようなパーティクルを作りたい.このとき必要になるのが3Dパーリンノイズである.ここでは,パーリンノイズの詳細は省略する.
curl noiseの基本的な実装は次の通り.
particle[i].force.x += perlin(particle[i].x*scale, particle[i].y*scale,1.352+time);
particle[i].force.y += perlin(particle[i].x*scale, particle[i].y*scale,12.814+time);
パーティクルの座標をスケーリングして,パーリンノイズで-1.0〜1.0の範囲の値を取得し,なめらかに遷移させる.第3引数には,ノイズフィールドを変更するためにある定数とtime(経過時間)を加える.
Words
- wobble ぐらぐらする
- over time 時間とともに