Version: 2018.4
パーティクルシステムとは何か?
パーティクルシステムの使い方

パーティクルシステムの利用

Unity はコンポーネントでパーティクルシステムを実装します。そのため、シーンにパーティクルシステムを配置するということは、既に作成したゲームオブジェクトを加えるか (メニュー: GameObject > Effects > Particle System)、既存のゲームオブジェクトにコンポーネントを加えるかのどちらかになります。コンポーネントはとても複雑にできているので、インスペクターは折りたたむことがが可能なサブセクションや モジュール に分かれており、それぞれに関連するプロパティーが含まれています。さらに、インスペクターの Open Editor ボタンを使って別々のエディターウインドウに同時にアクセスし、複数のシステムを編集することが可能です。詳細は パーティクルシステム とそれぞれのパーティクルシステムモジュール のドキュメントを参照してください。

パーティクルシステムを持つオブジェクトが選択されたとき、シーンビューに小さな Particle Effect パネルが表示されます。パネルには簡易な操作を行える機能が付いていて、変化を見ながらシステム設定を行うのに便利です。

Playback Speed はパーティクルのシミュレーション速度を増減させることができます。したがって、再生速度を変更するとどのようになるかを、簡単に確認することができます。Playback Time はシステムが開始してからどのくらい時間が経過したかを示しています。これは Playback Speed によって、現実の時間よりも早くなる、または遅くなる場合があります。Particle Count は、システム内の現在のパーティクル数です。再生時間は Playback Time ラベルをクリックしてマウスを左右にドラッグすることで前後にずらすことができます。パネルの上部にあるボタンはシミュレーションの一時停止と再開、または、停止して最初の状態にリセットするのに使用します。

時間経過で変化するプロパティー

多くのパーティクルの数値プロパティーや、パーティクルシステム全体さえも時間とともに変化します。Unity ではどのように変化を発生させるかを指定することができます。

  • Constant: そのプロパティーの値はその寿命 (存在する期間) を通して常に変わりません。
  • Curve: その値はカーブやグラフによって指定されます。
  • Random Between Two Constants: 2 つの定数が値の上限と下限を決定します。実際の値は、時間の経過とともにその範囲内でランダムに変化します。
  • Random Between Two Curves: 2 つのカーブが、生存期間の指定された時点で、値の上限と下限を決定します。値はその範囲内でランダムに変化します。

プロパティーを Curve または Random Between Two Curves に設定すると、Particle System Curves (パーティクルシステムカーブ) エディターがインスペクター下部に表示されます。

カーブを編集するには、エンドポイントまたはキーをクリックしてドラッグし、カーブの形状を変更します。

パーティクルシステムのカーブは アニメーションカーブ に似ています。カーブの使用については、カーブの編集 を参照してください。

Particle System Curves エディターには以下のボタンがあります。

  • Optimize: 4 つ以下のキーにカーブを合わせることで、「多項式」と呼ばれる高速な式評価機能を作成します。これは、最適化されていないカーブを読み込むよりも効率的です。
  • Remove: 選択したカーブを削除します。

パーティクルシステムがカーブを再生する方法を編集するには、選択したキーの隣にある歯車アイコンをクリックし、以下のいずれかのオプションを選択します。

  • Loop: パーティクルの生存時間に渡って、指定した回数のカーブを再生します。例えば、パーティクルのサイズを拡大縮小するカーブを作成すると、そのカーブを複数回ループする (繰り返す) ように指示できます。これにより、パーティクルが消滅する前にサイズを “拡大縮小する” アニメーションを 1 回だけでなく複数回行えます。
  • Ping Pong: Loop と似ていますが、カーブを前向きと後ろ向きに連続的に振動するように再生します。
  • Clamp: カーブ時間範囲外のパーティクルクエリをカーブの最初か最後の値に制限します。

同様に、メインモジュールの Start Color (開始色) プロパティー には以下のオプションがあります。

  • Color: パーティクルの開始色はシステムの生存期間を通して変わりません。
  • Gradient: パーティクルは、グラデーションで指定された開始色で放出されます。グラデーションの長さはパーティクルシステムの生存期間を表しています。
  • Random Between Two Colors: 開始時のパーティクルの色には、指定した 2 色間のランダムな直線補間の値が選択されます。
  • Random Between Two Gradients: 2 色は、指定されたグラデーション (システムの生存期間) の現時点から選択されます。パーティクルの開始色にはこの 2 色間のランダムな直線補間の値が選択されます。
  • Random Color: 新しく生成されたすべてのパーティクルに対して、グラデーションから任意の点をランダムに選択します。

パーティクルに Gradient 色を設定すると、Gradient Editor が表示されます。

  • Mode: パーティクルの色の設定をブレンドするかどうかを決定します。
  • Color: グラデーションの現在選択されているキーの色を表示します。これを使用して、グラデーションのその位置の色を編集します。
  • Location: グラデーションで現在選択されているキーの位置 (開始点からの距離) を表示します。
  • Presets: グラデーションの設定を保存します。現在の値の設定をグラデーションプリセットにするには、New をクリックします。

異なるモジュールのカラープロパティーはチャンネルごとに積算され、最終的なパーティクルの色を算出します。

Animation バインディング

すべてのパーティクルプロパティーは Animation システムからアクセス可能です。つまり、それらをキーフレームにすることができ、アニメーションから制御することができるということです。

Particle System のプロパティーにアクセスするには、Animator コンポーネントを Particle System のゲームオブジェクトにアタッチする必要があります。Animation Controller と Animation も必要です。

パーティクルシステムをアニメーションにするには、Animator コンポーネントを加え、Animation Controller にアニメーションを割り当ててください。
パーティクルシステムをアニメーションにするには、Animator コンポーネントを加え、Animation Controller にアニメーションを割り当ててください。

パーティクルシステムをアニメーションにするには、Animator と選択したパーティクルシステムを含むゲームオブジェクトを持つ Animation ウィンドウ を開きます。Add Property をクリックしてプロパティーを加えます。

Animation ウィンドウでアニメーションにプロパティーを加える
Animation ウィンドウでアニメーションにプロパティーを加える

制御を加える (+) には右にスクロールします。

カーブに関しては、全体の curve multiplier だけキーフレームにすることができます。curve multiplier は インスペクター の Curve エディターの隣にあります。


  • 2018–11–27 限られた 編集レビュー で修正されたページ

  • GameObject メニューは Unity 4.6 で変更

  • パーティクルシステムのループ/ピンポンカーブの再生は 2018.3 で追加 NewIn20183X

パーティクルシステムとは何か?
パーティクルシステムの使い方