Particle System モジュールにはシステム全体に影響するグローバルプロパティがあります。このプロパティのほとんどは、新たにつくられたパーティクルの初期の状態を制御します。メインモジュールを開閉するには、インスペクターウィンドウの Particle System バーをクリックします。
インスペクター内のパーティクルの名前は、Particle System コンポーネント がアタッチされているゲームオブジェクトの名前で表示されます。
This module is part of the Particle System component. When you create a new Particle System GameObject, or add a Particle System component to an exiting GameObject, Unity embeds the Main module in the Particle System. To create a new Particle System:
Since this module is part of the Particle System component, you access it through the ParticleSystem class. For information on how to access it and change values at runtime, see the Main module API documentation.
このセクション内の一部のプロパティでは、異なるモードを使用して値の設定が行えます。使用可能なモードについての詳細は、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 | Scaled と Unscaled から選択します. Scaled は Time ウィンドウの Time Scale の値を使用し、Unscaled はその値を無視します。これは例えば Pause メニューに表示されるパーティクルシステムに役立ちます。 |
Scaling Mode | トランスフォームのスケールの使用方法を選択します。Hierarchy、Local、Shape のいずれかに設定します。Local はパーティクルシステムのトランスフォームスケールのみを適用し、親はすべて無視します。Shape はスケールをパーティクルの開始位置に適用し、サイズには影響しません。 |
Play on Awake | 有効にすると、オブジェクトが生成されたときにパーティクルシステムが自動的に開始します。 |
Emitter Velocity | Inherit Velocity モジュールと Emission モジュールに利用される速度の計算方法を選択します。パーティクルシステムは 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 プロパティ (lifetime、speed、size、rotation、color) は、放出時のパーティクルの状態を指定します。 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 プロパティは、パーティクルがパーティクルシステムの親オブジェクトやカスタムオブジェクトと一緒に動くか、またはゲーム世界で独立して動くかどうかを決定します。 例えば、雲、ホース、火炎放射器 のようなものは、それらを生成するオブジェクトが動き回ってもワールド空間に残るトレイルを残す傾向があるため、親ゲームオブジェクトから独立して設定する必要があります。 一方、2 つの電極の間の火花を作成するためにパーティクルを使用する場合、パーティクルは親オブジェクトと共に移動する必要があります。 パーティクルに Transform を追わせる方法について詳しくは、Inherit Velocity モジュール を参照してください。
Custom に設定すると、パーティクルは自身の Transform コンポーネントに関連して移動しなくなります。代わりに、指定した Transform コンポーネントの動きに関連して移動します。パーティクルシステムはそのカスタムのトランスフォームを使用してエミッター速度を計算します。このエミッター速度を使って、Inherit Velocity モジュールと、Emission モジュールの Rate over Distance プロパティが、パーティクルの速度と放出を制御します。