Version: 2022.3
言語: 日本語
Particle System モジュール
Emission モジュール

メインモジュール

Particle System モジュールにはシステム全体に影響するグローバルプロパティがあります。このプロパティのほとんどは、新たにつくられたパーティクルの初期の状態を制御します。メインモジュールを開閉するには、インスペクターウィンドウの Particle System バーをクリックします。

インスペクター内のパーティクルの名前は、Particle System コンポーネント がアタッチされているゲームオブジェクトの名前で表示されます。

メインモジュールの使用

このモジュールは、Particle System コンポーネントの一部です。新しい Particle System ゲームオブジェクトを作成する場合、または終了したゲームオブジェクトに Particle System コンポーネントを追加する場合、Unity はメインモジュールを Particle System に埋め込みます。新しい Particle System システムを作成するには、次のようにします。

  1. GameObject > Effects > Particle System をクリックします。
  2. Inspector 内で Particle System コンポーネントを見つけます。
  3. メインモジュールのプロパティは、Particle System コンポーネントの上部に表示されます。

API

このモジュールは Particle System コンポーネントの一部であるため、ParticleSystem クラスを通してアクセスします。ランタイムにアクセスし、値を変更する方法については、メインモジュール API のドキュメント を参照してください。

プロパティ

このセクション内の一部のプロパティでは、異なるモードを使用して値の設定が行えます。使用可能なモードについての詳細は、Varying properties over time を参照してください。

プロパティ 機能
Duration システムが実行する時間の長さ
Looping 有効にすると、システムが継続時間の終了時に再び開始し、そのサイクルを継続的に繰り返します。
Prewarm 有効にすると、システムはすでにサイクルを 1 回完了したかのように初期化されます (Looping が有効であるときにのみ動作します)。
Start Delay 有効にすると、システムがパーティクルの放出を始める前に数秒遅延します。
Start Lifetime パーティクルの最初の生存期間
Start Speed 任意の方向への各パーティクルの初速
3D Start Size 各軸のサイズを別々に制御したい場合は、これを有効にします。
Start Size 各パーティクルの最初のサイズ
3D Start Rotation 各軸の回転を別々に制御したい場合は、これを有効にします。
Start Rotation 各パーティクルの最初の回転角度
フリップ回転 いくつかのパーティクルを反対方向にスピンさせます。
Start Color 各パーティクルの最初の色
Gravity Modifier Physics ウィンドウで設定する重力値をスケールします。値を 0 にすると重力が無効になります。
Simulation Space パーティクルを親オブジェクトのローカル空間でアニメーションするか(親オブジェクトと一緒に動きます)、ワールド空間でアニメーションするか、または、カスタムのオブジェクトに関連させるか (選択したカスタムのオブジェクトと一緒に動きます) を制御します。
Simulation Speed システム全体を更新するスピードを調整します。
Delta Time ScaledUnscaled から選択します. ScaledTime ウィンドウの Time Scale の値を使用し、Unscaled はその値を無視します。これは例えば Pause メニューに表示されるパーティクルシステムに役立ちます。
Scaling Mode トランスフォームのスケールの使用方法を選択します。HierarchyLocalShape のいずれかに設定します。Local はパーティクルシステムのトランスフォームスケールのみを適用し、親はすべて無視します。Shape はスケールをパーティクルの開始位置に適用し、サイズには影響しません。
Play on Awake 有効にすると、オブジェクトが生成されたときにパーティクルシステムが自動的に開始します。
Emitter Velocity Inherit Velocity モジュールと Emission モジュールによって使用される速度をパーティクルシステムが計算する方法を選択します。パーティクルシステムは Rigidbody コンポーネントがある場合はそれを使用して、または、Transform コンポーネントの動きを追跡して速度を計算できます。Rigidbody コンポーネントがない場合、パーティクルシステムはデフォルトで Transform コンポーネントを使用します。
Max Particles システムで、同時に存在できるパーティクルの最大数。限界数に到達すると、パーティクルの一部は削除されます。
Auto Random Seed 有効にすると、パーティクルの様子は再生される都度に異なります。無効にすると、パーティクルは毎回まったく同じに見えます。
Random Seed Auto Random Seed を無効にすると、特有の繰り返し可能なエフェクトを作成するためにこの値を使用します。
Stop Action パーティクルシステムに属するすべてのパーティクルが終了すると、システムに指定したアクションを実行させることができます。システムは、すべてのパーティクルが消滅し、また、システムの寿命が Duration を超えたときに停止したと判断されます。 ループシステムの場合、これはスクリプトを使ってシステムを停止する場合にのみ発生します。
    Disable ゲームオブジェクトを無効にします。
    Destroy ゲームオブジェクトを破棄します。
    Callback OnParticleSystemStopped コールバックがゲームオブジェクトにアタッチされたスクリプトに送信されます。
Culling Mode パーティクルがオフスクリーンのときにパーティクルシステムのシミュレーションを一時停止するかどうかを選択します。オフスクリーンがもっとも効率的な場合にカリングを行いますが、オフスクリーンでのワンショットエフェクトのために、シミュレーションを継続した方が良い場合があります。
    Automatic ループするシステムは Pause を使用し、他のすべてのシステムは Always Simulate を使用します。
    Pause And Catch-up オフスクリーンでシミュレーションを停止します。ビューに再入力すると、シミュレーションは大きなステップを実行し、一時停止していなかったら到達していたであろうポイントに到達します。複雑なシステムでは、このオプションを使用するとパフォーマンスが急向上する可能性があります。
    Pause オフスクリーンでシミュレーションを停止します。
    Always Simulate システムは、シミュレーションが画面上にあるかどうかにかかわらず、各フレームでシミュレーションを処理します。これは、シミュレーション中に明らかになる花火などのワンショットエフェクトに役立ちます。
Ring Buffer Mode パーティクルが Max Particles に達するまでパーティクルを生存させます。パーティクルが Max Particles に達すると、生存期間が終了したパーティクルを除去する代わりに、新しいパーティクルは古いパーティクルをリサイクルします。
    Disabled Ring Buffer Mode を Disabled にすると、生存期間が終了したパーティクルが除去されます。
    Pause Until Replaced Max Particle の制限値に達するまで、生存期間の終了時点の古いパーティクルを一時停止します。制限値に達した時点で、システムはそれらを再利用します。そのため、古いパーティクルは新しいパーティクルとして再出現します。
    Loop Until Replaced 生存期間が終了すると、Max Particle の制限値に達するまで、パーティクルは生存期間の指定された割合に巻き戻されます。Max Particle に達すると、システムはそれらをリサイクルし、新しいパーティクルとして再度現れます。

プロパティの説明

システムは特定の時間パーティクルを放出します。Looped プロパティを使用すると、継続的に放出するように設定できます。これにより、パーティクルを断続的に、または、継続的に放出するよう設定することができます。例えば、オブジェクトがプーっと短く水蒸気を噴き出したり、または、常に水蒸気を出している、などのように制御できます。

Start プロパティ (lifetimespeedsizerotationcolor) は、放出時のパーティクルの状態を指定します。 3D Start Size プロパティ (後述の 個別設定可能なパーティクルの拡大縮小を参照) を使用して、パーティクルの幅、高さ、奥行きを個別に指定できます。

すべてのパーティクルシステムは Physics 設定で指定した同じ重力ベクトルを使います。Gravity Modifier の値は、重力をスケールするのに使用され、0 にすると機能は無効になります。

個別設定可能なパーティクルの拡大縮小

3D Start Size プロパティで、パーティクルの幅、高さ、奥行きを個別に指定することができます。Particle System の メイン モジュールで 3D Start Size チェックボックスをクリックし、パーティクルの最初の値 X (幅)、Y (高さ)、 Z (奥行き) を入力します。Z (奥行き) は、3D メッシュパーティクルだけに適用されます。このプロパティで、 2 つの定数の間の範囲、 2 つのカーブの間の範囲のランダム値を設定することも可能です。

Particle System の メイン モジュールでパーティクルの最初のサイズを設定でき、パーティクルの生存期間にわたるサイズも Size over Lifetime モジュールの Separate Axes オプションを使って設定することができます。Size by Speed モジュールの Separate Axes オプションを使って、スピードに関連したパーティクルサイズも設定できます。

Simulation Space

Simulation Space プロパティは、パーティクルがパーティクルシステムの親オブジェクトやカスタムオブジェクトとともに動く、またはゲーム世界で独立して動くかどうかを決定します。例えば、雲、ホース、火炎放射器のようなシステムは、それらを生成するオブジェクトが動き回ってもワールド空間に残存するトレイルを残す傾向があるため、親ゲームオブジェクトから独立して設定する必要があります。一方、2 つの電極間の火花を作成するためにパーティクルを使用する場合、パーティクルは親オブジェクトとともに移動する必要があります。パーティクルが変換に追従する方法をより高度に制御する場合については、Inherit Velocity モジュール を参照してください。

Custom に設定すると、パーティクルは自身の Transform コンポーネントに関連して移動しなくなります。代わりに、指定した Transform コンポーネントの動きに関連して移動します。パーティクルシステムはそのカスタムのトランスフォームを使用してエミッター速度を計算します。このエミッター速度を使って、Inherit Velocity モジュールと、Emission モジュールの Rate over Distance プロパティが、パーティクルの速度と放出を制御します。



  • 2018–11–02 修正されたページ

  • Simulation Speed、Delta Time、Emitter Velocity は Unity 2017.1 で追加NewIn20171

  • Stop Action パーティクルシステムプロパティは Unity 2017.2 で追加NewIn20172

  • パーティクルシステムに追加されたカリングモードとリングバッファモードのプロパティは[2018.3](../Manual/30_search.html?q = newin20183) NewIn20183

Particle System モジュール
Emission モジュール