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

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

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: Two curves define the upper and lower bounds of the value at a given point in its lifetime; the current value varies randomly between those bounds.

When you set a property to Curve or Random Between Two Curves, the Particle System Curves editor appears at the bottom of the Inspector:

To edit a curve, click and drag an end point or key to reshape the curve:

Particle System curves are similar to Animation curves. For information on using curves, see the documentation on Editing Curves.

The Particle System Curves editor has the following buttons:

  • Optimize: Fits the curve into four or fewer keys to build a fast evaluator called a Polynomial, which is more efficient than reading the unoptimized curve.
  • Remove: Deletes the selected curve.

To edit the way in which the Particle System plays curves, click the cog next to a selected key and choose one of the following options:

  • Loop: Plays the curve the specified number times over a particle’s life. For example, if you make a curve that scales a particle’s size up and down, you can tell it to loop multiple times, which causes the “up and down” animation to happen multiple times before the particle dies, instead of just once.
  • Ping Pong: Similar to Loop, but plays the curve forwards then backwards in a continuous oscillation.
  • Clamp: Limits particle queries that fall outside the curve time range to the first or last value of the curve.

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

  • Color: パーティクルの Start Color (開始色) はシステムの寿命を通して変わりません。
  • Gradient: パーティクルは、傾斜線上で指定された Start Color (開始色) で放出されます。傾斜線の長さはパーティクルシステムの寿命を表しています。
  • Random Between Two Colors: 開始時のパーティクルの色には、指定した 2色間のランダムな直線補間の値が選択されます。
  • Random Between Two Gradients: Two colors are picked from the given Gradients at the point corresponding to the current age of the Particle System; the starting particle color is chosen as a random linear interpolation between these colors.
  • Random Color: Picks any point at random from the Gradient for every newly spawned particle.

When you set the Gradient color for particles, the Gradient Editor appears:

  • Mode: Determines whether the particle color settings are blended or not.
  • Color: Displays the color of the currently selected key in the Gradient. Use this to edit the color at that position of the Gradient.
  • Location: Shows how far along on the Gradient the currently selected key is.
  • Presets: Allows you to save Gradient settings. Click New to make the current set of values a Gradient preset.

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

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 で変更

  • Particle System loop/ping-pong curve playing added in 2018.3 NewIn20183X

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