Version: 2020.1
言語: 日本語
ビルトインのパーティクルシステム
パーティクルシステム - 頂点ストリームとスタンダードシェーダーサポート

ビルトインパーティクルシステムの使用

ビルトインパーティクルシステムはコンポーネントを使用します。そのため、シーンにパーティクルシステムを配置するということは、既に作成したゲームオブジェクトを加えるか (メニュー: 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 から最初の色を取得します。ただし、このモードでは、パーティクルシステムはパーティクルシステムの経過時間に基づいてサンプルを選択するのではなく、ランダムにサンプルを選択します。このモードは、グラデーションエディター内の Fixed Gradient Mode でも使用できます。有効にすると、事前定義された明確な開始色のリストを選択し、各色に確率を適用できます。

Color over Lifetime などの他の色プロパティでは、 Gradient または Random Between Two Gradients モードを使用できます。

最終的なパーティクルの色を計算するために、パーティクルシステムはチャンネルごとにさまざまなモジュールのカラープロパティを乗算します。

パーティクルに 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 エディターの隣にあります。


  • 2019–04–16 修正されたページ

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

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

ビルトインのパーティクルシステム
パーティクルシステム - 頂点ストリームとスタンダードシェーダーサポート