パーティクルシステム
Unity のパーティクルシステムを使用する

パーティクルシステムとは何か?

パーティクル (Particle) は、パーティクルシステムによって、非常に大きな数でまとまって表示したり移動したりする小さくて、単純な画像やメッシュです。各パーティクルは流体や非晶質実体の小さな部分を表し、すべてのパーティクルを一緒にして、全体の実体の印象が作成されます。雲を例にとると、各パーティクルは、それ自体で小さな雲に似た小さな煙のテクスチャです。これらの小さい雲をひとまとまりにして多量にシーンに配置すると、全体的な効果として、大きなボリュームのある雲となります。

システムのダイナミクス

それぞれのパーティクルには所定の 生存期間 (Lifetime) が通常は数秒ほど設定されていて、その間にさまざまな変化をしていきます。パーティクルは生成されたとき、または、パーティクルシステムによって 放出 (Emission) されたとき生存期間のカウントを開始します。システムは球、半球、円錐、ボックス、その他任意のメッシュの領域内にあるランダムな位置にパーティクルを放出します。パーティクルは時間が切れるまで表示され、時間が終了した時点でシステムから削除されます。システムの 放出レート (Emission Rate) は秒間にどれだけのパーティクルが放出されるかということを大まかに表しています。ただし、実際の放出回数は少しだけランダムな差があります。放出レートの選択と、平均的なパーティクルの生存期間によって「安定」した状態 (つまり、放出とパーティクルの消滅が同じ割合で発生すること) にある時のパーティクルの数と、その状態に至るまでに要する時間が決定されます。

パーティクルのダイナミクス

放出と生存期間の設定はシステム全体のビヘイビアに影響を与えますが、パーティクルの1つ1つも時間と共に変化します。パーティクルにはそれぞれ 速さ (Velocity) のベクトルがあり、それは毎フレームのアップデートごとにパーティクルが動く方向と距離を決定します。速さはシステム自体によって適用された (Force) と 重力 (Gravity) がシステムに適用された場合、または、パーティクルが、Terrain (地形) の Wind Zone で風に吹かれた場合に変わります。それぞれのパーティクルの色、大きさ、回転もまたその生存期間を経て、または、現在の動きのスピードに比較して変化します。色はアルファ (透明度) コンポーネントを含んでいるため、パーティクルは単に突然現れたり消えたりするのではなく、次第に現れたり消えていくように作成できます。

組み合わせて使用することによって、パーティクルのダイナミクスは、多くの種類の非常にリアルな流体エフェクトをシミュレートすることができます。例えば、滝は薄い放出の形状を使用して水のパーティクルを重力の元、単純に落下させ、そのまま加速させていけばシミュレートできます。火から生じる煙は上昇、拡散し、最終的には消えていくものなので、システムは上向きの力を煙のパーティクルに加え、生存期間の経過とともにサイズと透明度を増やしていけばよいでしょう。

パーティクルシステム
Unity のパーティクルシステムを使用する