このモジュールを使用して、指定した割合でパーティクルにリアルタイムライトを加えます。
このモジュールは、Particle System コンポーネントの一部です。新しい Particle System ゲームオブジェクトを作成する場合、または終了したゲームオブジェクトに Particle System コンポーネントを追加する場合、Unity は Lights モジュールを Particle System に追加します。デフォルトでは、このモジュールは無効化されています。新しい Particle System を作成し、このモジュールを有効にするには、次のようにします。
このモジュールは Particle System コンポーネントの一部であるため、ParticleSystem クラスを通してアクセスします。ランタイムにアクセスし、値を変更する方法については、Lights モジュール API のドキュメント を参照してください。
このセクション内の一部のプロパティでは、異なるモードを使用して値の設定が行えます。使用可能なモードについての詳細は、Varying properties over time を参照してください。
プロパティ | 機能 |
---|---|
Light | パーティクルライトの見え方を決める Light プレハブを割り当てます。 |
Ratio | 0 から 1 の値で、ライトを受けるパーティクルの割合を設定します。 |
Random Distribution | ライトをランダムに割り当てるか、または定期的に割り当てるかどうかを選択します。これを有効にすると、すべてのパーティクルは Ratio に基づいてライトを受け取る機会がランダムになります。Ratio の値を大きくするほどパーティクルがライトを受ける確率は高くなります。無効にすると、Ratio によって新しく作成されたパーティクルがライトを受ける頻度が制御されます (例えば、N 番目のパーティクルごとにライトを受け取ります)。 |
Use Particle Color | これを有効にすると、ライトの最終的な色は、それが設定されているパーティクルの色で調整されます。無効にすると、ライトの色は変更されずに使用されます。 |
Size Affects Range | これを有効にすると、ライトで指定した Range がパーティクルのサイズで乗算されます。 |
Alpha Affects Intensity | これを有効にすると、Light で指定した Intensity がパーティクルのアルファ値で乗算されます。 |
Range Multiplier | パーティクルの生存期間にわたってライトの Range に適用するカスタム乗数。 |
Intensity Multiplier | パーティクルの生存期間にわたってライトの Intensity に適用するカスタム乗数。 |
Maximum Lights | 最大のライト数。この設定を使用して、意図せずに非常に多くのライトを作成して、エディターが反応しなくなったり、アプリケーションのスピードが非常に遅くなるようなことを回避します。 |
Light モジュールはパーティクルエフェクトにリアルタイムのライティングを追加する簡単な方法です。それは、火、花火、雷などの、環境に光を投じるシステムを作るために利用できます。また、ライトが設定されるパーティクルからさまざまなプロパティを継承することもできます。これによって、パーティクルエフェクト自体がライトを放射することをより本当らしくすることができます。例えば、ライトをパーティクルでフェードアウトさせ、同じ色を共有させることでこれを実現できます。
このモジュールを使用すると、多くのリアルタイムライトを素早く簡単に作成できます。また、リアルタイムライトでは、特に Forward Rendering モードでパフォーマンスコストが高くなります。ライトが影を投じると、パフォーマンスコストはさらに高くなります。何千ものリアルタイムライトを作成するように放出率の変更をしてしまうような偶発的な事故を防ぐために、Maximum Lights プロパティを使用する必要があります。ターゲットハードウェアが管理できるライトよりも多くのライトを作成すると、減速したり、反応がなくなるなどの問題が発生する可能性があります。