Curl noise for particles

 

Article

curl noise for particles | syphobia :: the procedural way

 

 

Video

www.youtube.com

 

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 時間とともに